Tomasz Figa [Mon, 27 Jul 2015 07:07:30 +0000 (16:07 +0900)]
CHROMIUM: [media] rk3288-vpu: Add helper for encode plane sizes calculation
Currently plane sizes calculation on encoder side is happening only in
vidioc_s_fmt() function, howerver as a prerequisite for further patch
adding further code which needs this operation, this patch adds a common
helper function, which performs this operation.
BUG=chrome-os-partner:41585
TEST=AppRTC loopback
Signed-off-by: Tomasz Figa <tfiga@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/289047
Reviewed-by: Pawel Osciak <posciak@chromium.org>
Change-Id: I6e5769667ae40b3fb5758ce9471b4ddd6866183f
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
Tomasz Figa [Mon, 27 Jul 2015 07:07:30 +0000 (16:07 +0900)]
CHROMIUM: [media] rk3288-vpu: Add helper to get context operating mode
Currently there is only one place in the code checking whether given
context is decoding or encoding. However as a prerequisite for further
patch adding more such checks, this patch adds a common helper function
which returns appropriate enum value depending on operating mode of
given context.
BUG=chrome-os-partner:41585
TEST=AppRTC loopback
Signed-off-by: Tomasz Figa <tfiga@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/288661
Reviewed-by: Pawel Osciak <posciak@chromium.org>
Change-Id: Ide145770ca77897ada3cb878c4b9c9787824a827
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
Jeffy Chen [Mon, 15 Jun 2015 19:19:51 +0000 (03:19 +0800)]
CHROMIUM: [media] rk3288-vpu: vp8e: increase frame hdr size
Currently, FRAME_HEADER_SIZE is 256, but i've saw
the hdr be larger then 256 when doing screen share.
so we should increase it.
This needs change the define in v4lplugin too.
(change id: Ia6c2271b727218692c4e0b1603d243f32d2f1d77)
BUG=chromium:497324
TEST=screen share through Hangouts
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
Reviewed-on: https://chromium-review.googlesource.com/277398
Reviewed-by: Tomasz Figa <tfiga@chromium.org>
Change-Id: I06e7712420404c43661774e176a7b9333ddc3def
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
Tomasz Figa [Mon, 27 Apr 2015 06:38:32 +0000 (15:38 +0900)]
CHROMIUM: [media] rk3288-vpu: Implement VIDIOC_ENUM_FRAMESIZES
This patch adds implementations of VIDIOC_ENUM_FRAMESIZES for rk3288-vpu
encoder and decoder devices. This IOCTL lets the userspace learn about
frame size limits of the hardware.
BUG=chromium:485409
TEST=vda/veatests, Chrome with crrev.com/
1097913002.
Signed-off-by: Tomasz Figa <tfiga@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/269867
Reviewed-by: Heng-ruey Hsu <henryhsu@google.com>
Change-Id: Ia23a89c2f380b16cc7ef8338d33946d62f8a68fe
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
Tomasz Figa [Mon, 27 Apr 2015 06:36:25 +0000 (15:36 +0900)]
CHROMIUM: [media] rk3288-vpu: Make find_format() use fourcc directly
As a prerequisite for using find_format() helpers from contexts in which
a v4l2_format struct is not available, this patch makes it take u32 fourcc
as its argument instead, since it was the only member of that struct it
actually used anyway.
BUG=chromium:485409
TEST=vda/veatests, Chrome with crrev.com/
1097913002.
Signed-off-by: Tomasz Figa <tfiga@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/269866
Reviewed-by: Pawel Osciak <posciak@chromium.org>
Trybot-Ready: Pawel Osciak <posciak@chromium.org>
Change-Id: Ifa9c4e3e378fbeafb6453a01b9e4f7c11606025b
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
Tomasz Figa [Mon, 27 Apr 2015 06:34:32 +0000 (15:34 +0900)]
CHROMIUM: [media] rk3288-vpu: Use macros for frame size limits
As a prerequisite for reusing those values in new code, this patch
creates appropriate macros for them and updates current code to use
them.
BUG=chromium:485409
TEST=vda/veatests, Chrome with crrev.com/
1097913002.
Signed-off-by: Tomasz Figa <tfiga@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/269865
Reviewed-by: Pawel Osciak <posciak@chromium.org>
Trybot-Ready: Pawel Osciak <posciak@chromium.org>
Change-Id: I95b1afbeff91aeb71d1748bf05895e769385f76e
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
Tomasz Figa [Mon, 13 Apr 2015 05:49:43 +0000 (14:49 +0900)]
CHROMIUM: [media] rk3288-vpu: Require kernel mapping only for encoder output
For rk3288-vpu, kernel mapping of video buffers is required only for
encoder bitstream output buffers for additional bistream formatting. Any
other buffers can be allocated without kernel mapping, greatly
conserving the limited pool of vmalloc memory.
This patch modifies the rk3288-vpu driver to use the newly added vb2-dc
interface to create two separate allocation contexts, one for
allocations with kernel mapping and one without.
BUG=chrome-os-partner:38873
TEST=vda/vea unit tests
Signed-off-by: Tomasz Figa <tfiga@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/265364
Reviewed-by: Pawel Osciak <posciak@chromium.org>
Change-Id: I4154802dda2329934dea675a242d67e80b925db0
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
Tomasz Figa [Thu, 2 Apr 2015 05:03:26 +0000 (14:03 +0900)]
CHROMIUM: [media] rk3288-vpu: Add suspend/resume handlers
Currently the driver does not implement suspend and resume PM ops.
However when system is entering suspend, the driver should prevent
submitting further runs to the hardware and wait for current run to be
finished. To resume playback after leaving sleep state, next run, if
available, must be submitted to the hardware.
This patch adds proper suspend and resume callbacks to handle this.
BUG=chrome-os-partner:38565
TEST=suspend and resume veyron_jerry several times with video playing
Signed-off-by: Tomasz Figa <tfiga@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/263662
Reviewed-by: Pawel Osciak <posciak@chromium.org>
Change-Id: Id07b7d681ef78655879ce77c9705b1c25231df9d
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
Tomasz Figa [Tue, 31 Mar 2015 13:40:03 +0000 (22:40 +0900)]
CHROMIUM: [media] rk3288-vpu: Preserve picture positions in H264 DPB lists
Even though H264 standard allows arbitrary order of DPB entries, the
hardware requires picture with given POC to use the same DPB entry for
its whole lifetime. This means that the driver needs to reorder DPB
array to suit this requirement.
This patch modifies the driver to reorder H264 DPB and should fix
corruption issues when DPB array received from userspace does not meet
hardware requirements.
BUG=chrome-os-partner:38416
TEST=http://www.youtube.com/embed/YE7VzlLtp-4
Signed-off-by: Tomasz Figa <tfiga@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/263370
Reviewed-by: Pawel Osciak <posciak@chromium.org>
Tested-by: Caesar Wang <wxt@rock-chips.com>
Change-Id: Ibbd0e2bc4e527aadd21ef08ec68866678bf8a659
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
Tomasz Figa [Mon, 23 Mar 2015 06:16:32 +0000 (15:16 +0900)]
CHROMIUM: [media] rk3288-vpu: Fix image size clamping
Current code always assumed the maximum supported resolution to be
1920x1088, and minimum 8x4 however the real limits are 48x48 and 3840x2160
for decoder and 96x96 and 1920x1088 for encoder. This patch modifies the
driver to use correct limits and also fixes incorrect log message.
BUG=chrome-os-partner:38232,chromium:464920
TEST=Screen sharing of a window bigger than 1920x1088 to Jerry
Signed-off-by: Tomasz Figa <tfiga@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/261851
Reviewed-by: Pawel Osciak <posciak@chromium.org>
Change-Id: I0c51e5a9ad235716ee447e052455b97ed0c295de
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
ZhiChao Yu [Fri, 23 Jan 2015 02:25:20 +0000 (10:25 +0800)]
CHROMIUM: [media] rk3288-vpu: Fix hangout corruption
If segmentation_enable flag is zero, no matter what
segmentation_update_flag is, we cannot set it to HW.
Before this patch, incorrect segmentation_update_flag
might be set to HW which caused hangout corruption.
BUG=chrome-os-partner:35531
TEST=make a video chat by hangout with other device.
Signed-off-by: ZhiChao Yu <zhichao.yu@rock-chips.com>
Reviewed-on: https://chromium-review.googlesource.com/242732
Reviewed-by: Tomasz Figa <tfiga@chromium.org>
Tested-by: Tomasz Figa <tfiga@chromium.org>
Commit-Queue: Tomasz Figa <tfiga@chromium.org>
Change-Id: I86c00c27d3c97854db8c4164289fa434b29819ff
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
ZhiChao Yu [Wed, 21 Jan 2015 03:39:12 +0000 (11:39 +0800)]
CHROMIUM: [media] rk3288-vpu: Fix VP8 decode corruption
The QP value wasn't correctly clamped by calling function clamp()
with wrong order of arguments. Fix this by passing the arguments
correctly.
BUG=chrome-os-partner:35606
TEST=Open Chrome and navigate to:
http://video.webmfiles.org/elephants-dream.webm
Signed-off-by: ZhiChao Yu <zhichao.yu@rock-chips.com>
[tfiga: Moved back to clamp(), but fixed argument order.]
Signed-off-by: Tomasz Figa <tfiga@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/242171
Reviewed-by: Kuang-che Wu <kcwu@chromium.org>
Reviewed-by: Pawel Osciak <posciak@chromium.org>
Change-Id: I415e19e6cdfb125b281d205bcdf93ae9911655f4
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
Tomasz Figa [Wed, 14 Jan 2015 07:20:41 +0000 (16:20 +0900)]
CHROMIUM: [media] rk3288-vpu: Bump ACLK frequency to 400 MHz
According to RK3288 TRM, the maximum worst case operating frequency of
VPU is 400 MHz, but by default it is set to 200 MHz. To fix (or work
around) performance issues with VP8 encoder, this patch bumps the
frequency to maximum possible value.
BUG=chrome-os-partner:35405
TEST=./video_encode_accelerator_unittest
--test_stream_data=tulip2-1280x720-
1b95123232922fe0067869c74e19cd09.yuv:1280:720:11:out1280x720.ivf:
1200000
--v
Signed-off-by: Tomasz Figa <tfiga@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/240644
Reviewed-by: Pawel Osciak <posciak@chromium.org>
Change-Id: I397139fe1195b74b8ebd516eae0968bccff7ef4b
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
ZhiChao Yu [Mon, 5 Jan 2015 06:05:07 +0000 (14:05 +0800)]
CHROMIUM: [media] rk3288_vpu: implement vp8d hw config part
This patch adds code implementing rk3288_vpu_codec_ops
for VP8 decoder.
BUG=chrome-os-partner:33728
TEST=video_encode_accelerator_unittest;video_decode_accelerator_unittest
Signed-off-by: ZhiChao Yu <zhichao.yu@rock-chips.com>
Signed-off-by: Tomasz Figa <tfiga@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/238311
Reviewed-by: Pawel Osciak <posciak@chromium.org>
Change-Id: I7875c3c6e53ed00ea74035778651b6b676298ee8
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
Tomasz Figa [Fri, 9 Jan 2015 11:35:16 +0000 (20:35 +0900)]
CHROMIUM: [media] rk3288-vpu: Add VP8 decoder to V4L2 API implementation
This patch extends existing implementation of required V4L2 API calls
with code required for VP8 decoder.
BUG=chrome-os-partner:33728
TEST=video_encode_accelerator_unittest;video_decode_accelerator_unittest
Signed-off-by: ZhiChao Yu <zhichao.yu@rock-chips.com>
Signed-off-by: Tomasz Figa <tfiga@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/239814
Reviewed-by: Pawel Osciak <posciak@chromium.org>
Change-Id: I633687b7223c25f46d2373b964ceb1fe29f02b2f
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
Hertz Wong [Mon, 15 Dec 2014 04:16:14 +0000 (12:16 +0800)]
CHROMIUM: [media] rk3288_vpu: implement h264d hardware config part
This patch adds code implementing rk3288_vpu_codec_ops for H264 decoder.
BUG=chrome-os-partner:33728
TEST=compile
Signed-off-by: Hertz Wong <hertz.wong@rock-chips.com>
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Signed-off-by: Tomasz Figa <tfiga@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/237618
Reviewed-by: Pawel Osciak <posciak@chromium.org>
Change-Id: I17e9828008946d370f6fb7b52ce02b412e73c6e9
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
Tomasz Figa [Mon, 1 Dec 2014 10:42:38 +0000 (19:42 +0900)]
CHROMIUM: [media] rk3288-vpu: Implement basic V4L2 APIs for decoder
This patch adds implementation of basic V4L2 APIs for decoder part of
the driver. It is still missing the hardware specific part, including
the hardware specific controls containing certain data precalculated
in userspace.
BUG=chrome-os-partner:33728
TEST=compile
Signed-off-by: Tomasz Figa <tfiga@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/237617
Reviewed-by: Pawel Osciak <posciak@chromium.org>
Change-Id: I3cad74aad3c6c4ac5e6b2123b5d93e3173b74c7a
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
Alpha Lin [Fri, 14 Nov 2014 03:41:10 +0000 (12:41 +0900)]
CHROMIUM: [media] Add rk3288-vpu driver (vp8-encoder only)
Currently it consists of implementations of a platform driver and a V4L2
mem-to-mem encoder device. Only VP8 encoding is implemented currently.
BUG=chrome-os-partner:33728
TEST=video_encode_acceleator_unittest
Signed-off-by: Alpha Lin <Alpha.Lin@rock-chips.com>
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
Signed-off-by: Tomasz Figa <tfiga@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/237614
Reviewed-by: Pawel Osciak <posciak@chromium.org>
Conflicts:
drivers/media/platform/Makefile
Change-Id: I6e2c44ff378c68af4f1db071c7909a0870d9171a
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
Jeffy Chen [Tue, 31 May 2016 10:33:26 +0000 (18:33 +0800)]
CHROMIUM: [media] v4l2-ioctl: add vp8 frame & h264 slice to VIDIOC_ENUM_FMT
Change-Id: Idcfa80d3c838e3b2da1107800b178dc6e8d82dc1
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
Tomasz Figa [Mon, 13 Apr 2015 05:34:06 +0000 (14:34 +0900)]
CHROMIUM: [media] videobuf2-dc: Let drivers specify DMA attrs
DMA allocations might be subject to certain reqiurements specific to the
hardware using the buffers, such as availability of kernel mapping (for
contents fix-ups in the driver). The only entity that knows them is the
driver, so it must share this knowledge with vb2-dc.
This patch extends the alloc_ctx initialization interface to let the
driver specify DMA attrs, which are then stored inside the allocation
context and will be used for all allocations with that context.
As a side effect, all dma_*_coherent() calls are turned into
dma_*_attrs() calls, because the attributes need to be carried over
through all DMA operations.
BUG=chrome-os-partner:38873
TEST=compile
Signed-off-by: Tomasz Figa <tfiga@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/265363
Reviewed-by: Pawel Osciak <posciak@chromium.org>
Change-Id: I0e6c040cf820c194b6ca6f3e6355217496bd1532
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
Pawel Osciak [Fri, 26 Dec 2014 01:37:33 +0000 (10:37 +0900)]
CHROMIUM: v4l: Add VP8 low-level decoder API controls.
These controls are to be used with the new low-level decoder API for VP8
to provide additional parameters for the hardware that cannot parse the
input stream.
BUG=chrome-os-partner:33728
TEST=compile
Signed-off-by: Pawel Osciak <posciak@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/237670
Reviewed-by: Wu-cheng Li <wuchengli@chromium.org>
Commit-Queue: Tomasz Figa <tfiga@chromium.org>
Tested-by: Tomasz Figa <tfiga@chromium.org>
Change-Id: I32b45e07cfe02b25ea5202d0c839699103e3b800
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
Pawel Osciak [Sat, 13 Sep 2014 06:04:47 +0000 (15:04 +0900)]
CHROMIUM: v4l: Add H264 low-level decoder API compound controls.
Signed-off-by: Pawel Osciak <posciak@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/237616
Reviewed-by: Wu-cheng Li <wuchengli@chromium.org>
Commit-Queue: Tomasz Figa <tfiga@chromium.org>
Tested-by: Tomasz Figa <tfiga@chromium.org>
[rebase44(groeck): include linux/types.h in v4l2-controls.h]
Signed-off-by: Guenter Roeck <groeck@chromium.org>
Change-Id: Iee08205ff3b9a54c6561e385acae8182acc73393
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
Pawel Osciak [Tue, 11 Nov 2014 11:44:28 +0000 (20:44 +0900)]
CHROMIUM: [media] v4l: Add private compound control type.
V4L2_CTRL_TYPE_PRIVATE is to be used for private driver compound
controls that use the "ptr" member of struct v4l2_ext_control.
BUG=chrome-os-partner:33728
TEST=build
Signed-off-by: Pawel Osciak <posciak@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/228988
Trybot-Ready: Tomasz Figa <tfiga@chromium.org>
Tested-by: Tomasz Figa <tfiga@chromium.org>
Reviewed-by: Wu-cheng Li <wuchengli@chromium.org>
Commit-Queue: Tomasz Figa <tfiga@chromium.org>
Change-Id: I44083b0216ef32629d12f0910e972a3e827a599a
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
Hans Verkuil [Fri, 12 Sep 2014 09:52:26 +0000 (11:52 +0200)]
CHROMIUM: v4l2-ctrls: add function to apply a configuration store.
Drivers need to be able to select a specific store. Add a new function that can
be used to apply a given store.
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
BUG=chrome-os-partner:33728
TEST=build
Signed-off-by: Pawel Osciak <posciak@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/232585
Trybot-Ready: Tomasz Figa <tfiga@chromium.org>
Tested-by: Tomasz Figa <tfiga@chromium.org>
Reviewed-by: Wu-cheng Li <wuchengli@chromium.org>
Commit-Queue: Tomasz Figa <tfiga@chromium.org>
Change-Id: I3b80a31681765836a134812ebc56686324ca5194
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
Hans Verkuil [Fri, 12 Sep 2014 09:51:38 +0000 (11:51 +0200)]
CHROMIUM: Add config store support
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
BUG=chrome-os-partner:33728
TEST=build
Signed-off-by: Pawel Osciak <posciak@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/232584
Trybot-Ready: Tomasz Figa <tfiga@chromium.org>
Tested-by: Tomasz Figa <tfiga@chromium.org>
Reviewed-by: Wu-cheng Li <wuchengli@chromium.org>
Commit-Queue: Tomasz Figa <tfiga@chromium.org>
Conflicts:
drivers/media/v4l2-core/v4l2-ctrls.c
include/media/v4l2-ctrls.h
[rebase44(groeck): Resolved conflicts]
Signed-off-by: Guenter Roeck <groeck@chromium.org>
Conflicts:
drivers/media/v4l2-core/v4l2-ctrls.c
Change-Id: I0b2e66f3331cab91d209868f5d5f67f795a0e72c
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
Pawel Osciak [Sat, 13 Sep 2014 02:45:49 +0000 (11:45 +0900)]
CHROMIUM: videodev2.h: rename reserved2 to config_store in v4l2_buffer.
When queuing buffers allow for passing the configuration store ID that
should be associated with this buffer. Use the 'reserved2' field for this.
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
BUG=chrome-os-partner:33728
TEST=build
Signed-off-by: Pawel Osciak <posciak@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/232583
Trybot-Ready: Tomasz Figa <tfiga@chromium.org>
Tested-by: Tomasz Figa <tfiga@chromium.org>
Reviewed-by: Wu-cheng Li <wuchengli@chromium.org>
Commit-Queue: Tomasz Figa <tfiga@chromium.org>
Conflicts:
drivers/media/v4l2-core/videobuf2-core.c
[rebase44(groeck): fixed conflicts; structural changes to match v4.4]
Signed-off-by: Guenter Roeck <groeck@chromium.org>
Conflicts:
drivers/media/v4l2-core/v4l2-compat-ioctl32.c
Change-Id: Ibb823e9369bec79645e09651b0dda006ed53ecc5
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
Hans Verkuil [Mon, 16 Dec 2013 15:45:24 +0000 (16:45 +0100)]
CHROMIUM: videodev2.h: add config_store to v4l2_ext_controls
The ctrl_class is fairly pointless when used with drivers that use the control
framework: you can just fill in 0 and it will just work fine. There are still
some old unconverted drivers that do not support 0 and instead want the control
class there. The idea being that all controls in the list all belong to that
class. This was done to simplify drivers in the absence of the control framework.
When using the control framework the framework itself is smart enough to allow
controls of any class to be included in the control list.
Since configuration store IDs are in the range 1..255 (or so, in any case a relatively
small non-zero positive integer) it makes sense to effectively rename ctrl_class
to config_store. Set it to 0 and you get the normal behavior (you change the current
control value), set it to a configuration store ID and you get/set the control for
that store.
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
BUG=chrome-os-partner:33728
TEST=build
Signed-off-by: Pawel Osciak <posciak@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/232582
Trybot-Ready: Tomasz Figa <tfiga@chromium.org>
Tested-by: Tomasz Figa <tfiga@chromium.org>
Reviewed-by: Wu-cheng Li <wuchengli@chromium.org>
Commit-Queue: Tomasz Figa <tfiga@chromium.org>
Conflicts:
include/uapi/linux/videodev2.h
Change-Id: I862bb5796e27bcbbd055e22202ac9a1ed0cc6f7d
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
Daniel Kurtz [Thu, 29 Jan 2015 16:58:35 +0000 (00:58 +0800)]
CHROMIUM: ARM: dts: rockchip: assigned parents for vop dclks
The VOP DCLK is used to generate panel clocks.
For veyron, we have decided to permanently assign vop0 for
use with HDMI and vop1 for use with eDP.
Furthermore, to allow us to generate a wide range of precise pixel clocks,
we will be dedicating the NPLL exclusively for use as the parent clock
for VOP0/HDMI.
To implement the exclusive assignment of NPLL in the kernel, we remove
the NPLL entry from all clock muxes that would otherwise be able to select
it (such as vop1). For vop0, we remove all choices *except* NPLL.
Before booting the kernel, the bios will configure vop0 and vop1 as it
sees fit - potentially assigning NPLL to vop1 and some other PLL to vop0.
Thus, at boot it is possible that from the kernel's perspective, these
clocks are orphans. To fix this, we explicitly assign their clock parents
to ensure that they are properly parented no matter what state they are
when the kernel boots.
Change-Id: Iafe301abcbf211246fda66519cea5fc946af97ee
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
Signed-off-by: Daniel Kurtz <djkurtz@chromium.org>
Tested-by: Daniel Kurtz <djkurtz@chromium.org>
Reviewed-by: Douglas Anderson <dianders@chromium.org>
Hans Verkuil [Mon, 25 Aug 2014 12:03:36 +0000 (14:03 +0200)]
CHROMIUM: videodev2.h: add V4L2_CTRL_FLAG_CAN_STORE
Controls that have a configuration store will set this flag.
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
BUG=chrome-os-partner:33728
TEST=build
Signed-off-by: Pawel Osciak <posciak@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/232581
Trybot-Ready: Tomasz Figa <tfiga@chromium.org>
Tested-by: Tomasz Figa <tfiga@chromium.org>
Reviewed-by: Wu-cheng Li <wuchengli@chromium.org>
Commit-Queue: Tomasz Figa <tfiga@chromium.org>
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
Conflicts:
include/uapi/linux/videodev2.h
[rebase44(groeck): Resolved conflicts]
Signed-off-by: Guenter Roeck <groeck@chromium.org>
Change-Id: I88ccf65a5c6f11381cfacb4c328b589194f249ec
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
Yakir Yang [Tue, 28 Jun 2016 04:51:24 +0000 (12:51 +0800)]
FROMLIST: ARM: dts: rockchip: add the panel power supply for rk3288-evb board with rk808 pmu
Panel regulator is controller by a normal GPIO, so we need to
write a regulator-fixed node for it.
Change-Id: I24a0f2787ef3bb93422296e8a97c076040460ccc
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
(am from https://patchwork.kernel.org/patch/
9201801/)
Yakir Yang [Tue, 28 Jun 2016 04:51:21 +0000 (12:51 +0800)]
FROMLIST: ARM: dts: rockchip: add the panel power supply for rk3288-evb board with act8846 pmu
Panel regulator is controller by a normal GPIO, so we need to
write a regulator-fixed node for it.
Change-Id: I4368b16bf49ef04a539aad154f7c16b094bfc382
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
(am from https://patchwork.kernel.org/patch/
9201803/)
Yakir Yang [Tue, 28 Jun 2016 04:51:18 +0000 (12:51 +0800)]
FROMLIST: ARM: dts: rockchip: add eDP/panel display device nodes for rk3288-evb
The default eDP panel on RK3288 EVB board is LG LP079QX1-SP0V TFT LCD,
we haven't declared the panel regulator in the 'panel-simple' device
node here, so the specific board like ACT8846 / RK8080 need to support
the panel power supply.
Change-Id: Ibf4a6457d606027eaa91cacf6fde2241376afd13
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
(am from https://patchwork.kernel.org/patch/
9201815/)
Yakir Yang [Tue, 28 Jun 2016 10:12:24 +0000 (18:12 +0800)]
dt-bindings: Add support for AUO B101EW05 1280x800 panel
The AUO B101EW05 panel is a 10.1" 1280(RGB)x800 WXGA TFT-LCD panel,
connected using LVDS interfaces.
Change-Id: Ic80369353f5e1726d2ea2ace6d53bb2bcdae6fc2
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
Yakir Yang [Tue, 28 Jun 2016 10:07:39 +0000 (18:07 +0800)]
drm/panel: simple: Add support for AUO B101EW05 1280x800 panel
The AUO B101EW05 panel is a 10.1" 1280(RGB)x800 WXGA TFT-LCD panel,
connected using LVDS interfaces
Change-Id: Ic67fe5793a975b585cecfb8da02e81cd9fa6346f
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
Yakir Yang [Tue, 28 Jun 2016 06:40:02 +0000 (14:40 +0800)]
dt-bindings: add support Chunghwa CLAA070WP03 800x1280 panel
Chunghwa CLAA070WP03 is 7” color TFT-LCD module composed of LCD
panel, LVDS driver ICs, control circuit and backlight. This module
supports 800x1280 mode.
Change-Id: I7f71464a80725d648802918740e64a0368f5c480
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
Yakir Yang [Wed, 27 Jan 2016 08:48:44 +0000 (16:48 +0800)]
drm/panel: simple: add support Chunghwa CLAA070WP03 800x1280 panel
Chunghwa CLAA070WP03 is 7” color TFT-LCD module composed of LCD panel,
LVDS driver ICs, control circuit and backlight. This module supports
800x1280 mode.
Change-Id: I6a6339ad25664e2e47fc0e0de5c079db3494bd25
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
Yakir Yang [Fri, 24 Jun 2016 08:38:46 +0000 (16:38 +0800)]
ARM: dts: rockchip: enable GPU support on RK3288 EVB board with act8846 pmu
Change-Id: I92e43f6dd5563a9b8f423cf03f17dad60b4497ab
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
Yakir Yang [Fri, 24 Jun 2016 08:35:59 +0000 (16:35 +0800)]
ARM: dts: rockchip: add GPU device node for RK3288
RK3288 have integrated the Mali-T760
Change-Id: Id5f98f8c236049c7936c44290e93dfef9dee0c3b
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
Chris Zhong [Thu, 10 Dec 2015 05:46:38 +0000 (13:46 +0800)]
UPSTREAM: ARM: dts: rockchip: add 2 regulators for rk3288-evb-act8846
vcc_wl and vcc_lcd are 2 gpio switches for rk3288-evb-act8846 board.
Change-Id: I49fc20665adf4176d672fdd3e4030ee472f558a8
Signed-off-by: Chris Zhong <zyw@rock-chips.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
(cherry pick from commit
662513a14c9dd1ba2b4d5928d6eae443744edefc)
Huang Jiachai [Wed, 29 Jun 2016 12:40:13 +0000 (20:40 +0800)]
video: rockchip: vop: 3399: fix layer0 perpixel alpha error
Change-Id: I5d4947ab131d39ebc611ba78100e05aa95c4b3e9
Signed-off-by: Huang Jiachai <hjc@rock-chips.com>
Huibin Hong [Wed, 29 Jun 2016 11:58:26 +0000 (19:58 +0800)]
ARM64: kernel: dump kernel addresses larger than VA_START
The arm64 virtual addresses of kernel are like:
VA_START < MODULES_VADDR < KIMAGE_VADDR < PAGE_OFFSET.
PAGE_OFFSET is the virtual address of the start of the linear map.
And the vmalloc, kernel code and so on are between VA_START and
PAGE_OFFSET, so it is necessary to expand dump addresses to VA_START,
instead of PAGE_OFFSET.
Change-Id: I810ed216862de4c6e68b92d483de4aa68da532b8
Signed-off-by: Huibin Hong <huibin.hong@rock-chips.com>
Yakir Yang [Fri, 24 Jun 2016 06:18:27 +0000 (14:18 +0800)]
ARM: dts: rockchip: add the supports-emmc for rk3288 emmc property
I don't need send for upstream since the rockchip inside kernel
need it for tuning. At least the upstream can work it with dwmmc.
Change-Id: I73c12b455c7dc5320d6c06f9e29ddec5c4a6def5
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
Xing Zheng [Wed, 22 Jun 2016 03:16:52 +0000 (11:16 +0800)]
UPSTREAM: ARM: dts: rockchip: add GMAC nodes for RK322x SoCs
This patch add the GMAC dt nodes for rk322x SoCs.
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
(cherry picked from git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip.git
v4.8-armsoc/dts32 commit
5d3d7c72b920f9aa44f9b64cdd8a1c5bf5cbea07)
Change-Id: I85467b7253fda16c242d91bcdd207d0175ee0db3
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
Xing Zheng [Wed, 22 Jun 2016 03:16:51 +0000 (11:16 +0800)]
UPSTREAM: ARM: dts: rockchip: add i2s nodes for RK322x SoCs
This patch add the i2s dt nodes for rk322x SoCs.
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
(cherry picked from git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip.git
v4.8-armsoc/dts32 commit
ccada2489206b5f1870ac132408bf41ffe51995a)
Change-Id: I51607de71835be896b2134516c159f9d6831ae3e
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
Xing Zheng [Wed, 22 Jun 2016 03:16:50 +0000 (11:16 +0800)]
UPSTREAM: ARM: dts: rockchip: rename rk3228.dtsi to rk322x.dtsi
We have the brother chipset that RK3228 and RK3229, they share most
of dts configuration, but there are a number of different features.
In order to develop the future when they are easy to distinguish,
we need them to be independent.
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
(cherry picked from git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip.git
v4.8-armsoc/dts32 commit
8372d93df7c265a67676dcd329da9588cc769192)
Change-Id: I0b3c91cddb3ca919b165ba1ec5b2b9466945546d
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
Yakir Yang [Mon, 14 Mar 2016 03:11:42 +0000 (11:11 +0800)]
UPSTREAM: ARM: dts: rockchip: add i2c nodes for RK3228 SoCs
This patch add the i2c dt nodes for rk3228 SoCs.
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
(cherry picked from git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip.git
v4.8-armsoc/dts32 commit
d549df4b225ad2386cbf59254eab2ec116babdca)
Change-Id: I8f607b3af6b07bec509bb3645af6bf3ad59af3f5
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
Shawn Lin [Tue, 26 Jan 2016 02:06:43 +0000 (10:06 +0800)]
UPSTREAM: ARM: dts: rockchip: remove broken-cd from emmc and sdio
Only one of "broken-cd" and "non-removable" should be supplied
according to Documentation/devicetree/bindings/mmc/mmc.txt.
Obviously emmc and sdio-wifi are non-removable devices, while
broken-cd is for removable device whose card detect pin is broken.
Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
(cherry picked from git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip.git
v4.8-armsoc/dts32 commit
57375d88fa3f6bf9351051529464c708f72adb1d)
Change-Id: Ie8df62156fbc96c0c9e16d05389b2f230b261f0e
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
Caesar Wang [Mon, 15 Feb 2016 07:33:33 +0000 (15:33 +0800)]
UPSTREAM: ARM: dts: rockchip: enable the tsadc for rk3228 evb
This patch enables the tsadc for rk3228 evb board.
The rk3228 evb board uses the CRU to reset the chip since it hasn't the
PMIC to connect it, and TSHUT is low active on evb board.
Signed-off-by: Caesar Wang <wxt@rock-chips.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
(cherry picked from git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip.git
v4.8-armsoc/dts32 commit
26f5e19dfb07de627112074721f254482f941dab)
Change-Id: I12ce9b1e2fb2c740bef100a22d746d5e128253e6
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
Caesar Wang [Mon, 15 Feb 2016 07:33:32 +0000 (15:33 +0800)]
UPSTREAM: ARM: dts: rockchip: add the thermal main info found on rk3228
This patch adds the thermal needed main information for rk3228 SoCS.
Basically has the following content:
1) TSADC controller:
Add the needed attributes for rk3036 TSADC controller.
Especially for the TSHUT, in some cases if we are unable to shut it down
in orderly fashion (says: kernel is stuck holding a lock or similar), then
hardware TSHUT will reset it.
If the temperature is over 95C over a period of time the thermal shutdown
of the tsadc is invoked with can either reset the entire chip via the CRU,
or notify the PMIC via a GPIO. This should be set in the specific board.
2) Thermal zones:
Add the needed device mode for thermal generic framework.
Detail in Documentation/devicetree/bindings/thermal/thermal.txt.
Signed-off-by: Caesar Wang <wxt@rock-chips.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
(cherry picked from git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip.git
v4.8-armsoc/dts32 commit
7796031eec9e41099af35bc531f04843358fa3f1)
Change-Id: I415d5ac7ba2bca2259821dae6af98970e039d455
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
Jeffy Chen [Fri, 11 Dec 2015 01:30:52 +0000 (09:30 +0800)]
UPSTREAM: ARM: dts: rockchip: add rk3228-evb board
Initial release for rk3228 sdk board.
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
(cherry picked from git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip.git
v4.8-armsoc/dts32 commit
67e044a510d0e00656ae2ab4f0ee30971a2f40e7)
Conflicts:
Documentation/devicetree/bindings/arm/rockchip.txt
[zx: conflict with rk339 description, place over it.]
Change-Id: I10d4e71abb424f8997145cd51fa30257c8401cfb
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
Jeffy Chen [Fri, 11 Dec 2015 01:30:51 +0000 (09:30 +0800)]
UPSTREAM: ARM: dts: rockchip: add core rk3228 dtsi
Initial release for rk3228 shared dtsi.
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
(cherry picked from
git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip.git
v4.8-armsoc/v4.8-armsoc/dts32 commit
9848ebeb952d2a46852bdde96101d280fc69b54b)
Change-Id: I98ae8a73a5a46c2d2e82ae590d24f932c5426ddb
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
Xing Zheng [Wed, 29 Jun 2016 02:36:08 +0000 (10:36 +0800)]
ARM: dts: rockchip: remove unused rk3228 dts files
There are old v3.10 dts and unsuitable for v4.4, we need to remove them.
Change-Id: I070fb1fd5d513883f43dfbdab6f173e68fe48e72
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
Douglas Anderson [Mon, 18 Aug 2014 17:29:39 +0000 (10:29 -0700)]
ARM: rockchip: rk3288: Switch to use the proper PWM IP
The rk3288 SoC has an option to switch all of the PWMs in the system
between the old IP block and the new IP block. The new IP block is
working and tested and the suggested PWM to use, so setup the SoC to
use it and then we can pretend that the other IP block doesn't exist.
This code could go lots of other places, but we've put it here. Why?
- Pushing it to the bootloader just makes the code harder to update in
the field. If we later find a bug in the new IP block and want to
change our mind about what to use we want it to be easy to update.
- Putting this code in the driver for IP block is a lot of extra work,
device tree bindings, etc. Now that the new IP block is validated
it's likely no future SoCs will need this code. Why pollute the PWM
driver with this? This is an rk3288 thing so it should be in rk3288
code.
- There's a single bit that switches over PWMs, which makes it extra
hard to put this under the PWM device tree nodes.
Change-Id: Ib178129fc4f24f71d3a6f7315f757f91b5bdf534
Signed-off-by: Doug Anderson <dianders@chromium.org>
Frank Wang [Fri, 24 Jun 2016 03:16:26 +0000 (11:16 +0800)]
ARM64: dts: rk3366-tb: change usb2-host vbus supply as a regulator
Change-Id: I16cef5cc1b925ac26e92301ec84172213e4eb93f
Signed-off-by: Frank Wang <frank.wang@rock-chips.com>
Frank Wang [Fri, 24 Jun 2016 03:13:07 +0000 (11:13 +0800)]
ARM64: dts: rk3366: add usb2-vbus gpio into pinctrl entry
Change-Id: I3379360efc32ba455f1934760af8b968c8748984
Signed-off-by: Frank Wang <frank.wang@rock-chips.com>
Frank Wang [Fri, 24 Jun 2016 03:10:18 +0000 (11:10 +0800)]
FROMLIST: phy: rockchip-inno-usb2: add a new driver for Rockchip usb2phy
The newer SoCs (rk3366, rk3399) take a different usb-phy IP block
than rk3288 and before, and most of phy-related registers are also
different from the past, so a new phy driver is required necessarily.
Signed-off-by: Frank Wang <frank.wang@rock-chips.com>
Suggested-by: Heiko Stuebner <heiko@sntech.de>
Suggested-by: Guenter Roeck <linux@roeck-us.net>
Suggested-by: Doug Anderson <dianders@chromium.org>
Reviewed-by: Heiko Stuebner <heiko@sntech.de>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
(merge from https://patchwork.kernel.org/patch/
9190287/)
Change-Id: I3e7739dee6057928172904565c10cebf9785fec6
Signed-off-by: Frank Wang <frank.wang@rock-chips.com>
Frank Wang [Fri, 24 Jun 2016 02:55:49 +0000 (10:55 +0800)]
FROMLIST: Documentation: bindings: add DT documentation for Rockchip
USB2PHY
Signed-off-by: Frank Wang <frank.wang@rock-chips.com>
Acked-by: Rob Herring <robh@kernel.org>
Reviewed-by: Heiko Stuebner <heiko@sntech.de>
(merge from https://patchwork.kernel.org/patch/
9190285/)
Change-Id: I7199a4e84f13e58e98d5c0d21ce01837e961c3e8
Signed-off-by: Frank Wang <frank.wang@rock-chips.com>
Yakir Yang [Tue, 28 Jun 2016 03:44:23 +0000 (11:44 +0800)]
FROMLIST: dt-bindings: Add support for LG LP079QX1-SP0V 1536x2048 panel
The LG LP079QX1-SP0V is an 7.9" QXGA TFT with LED Backlight unit and
32 pins eDP interface. This module supports 1536x2048 mode.
Change-Id: I3f56b58935e47bb062d62521a019f36baae4be7a
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
(am from https://patchwork.kernel.org/patch/
9201795/)
Yakir Yang [Tue, 28 Jun 2016 03:39:58 +0000 (11:39 +0800)]
FROMLIST: drm/panel: simple: Add support for LG LP079QX1-SP0V 1536x2048 panel
The LG LP079QX1-SP0V is an 7.9" QXGA TFT with LED Backlight unit and
32 pins eDP interface. This module supports 1536x2048 mode.
Change-Id: Ib42185ffce772160133a3edf3c3cf61bff4b85c5
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
(am from https://patchwork.kernel.org/patch/
9201799/)
Zhangbin Tong [Wed, 29 Jun 2016 01:58:45 +0000 (09:58 +0800)]
iio: imu: inv-mpu6xxx: Fix interrupt pin assignment
When add spi support, introduce a new bug that
i2c intrerupt pin assignment after request_irq.
Change-Id: Id41a953c8c7ea8a94a584c584ee012025a4a6921
Signed-off-by: Zhangbin Tong <zebulun.tong@rock-chips.com>
Mark Yao [Mon, 6 Jun 2016 07:58:46 +0000 (15:58 +0800)]
FROMLIST: drm/rockchip: vop: correct the source size of uv scale factor setting
When the input color format is YUV, we need to do some external scale
for CBCR. Like,
* In YUV420 data format:
cbcr_xscale = dst_w / src_w * 2;
cbcr_yscale = dst_h / src_h * 2;
* In YUV422 data format:
cbcr_xscale = dst_w / src_w * 2;
cbcr_yscale = dst_h / src_h;
* In YUV444 data format
cbcr_xscale = dst_w / src_w;
cbcr_yscale = dst_h / src_h;
Change-Id: I73e0423d3662bd340b5d155996f13d31c22dcc29
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
(am from https://patchwork.kernel.org/patch/
9157353/)
Yakir Yang [Mon, 6 Jun 2016 07:58:32 +0000 (15:58 +0800)]
FROMLIST: drm/rockchip: vop: add uv_vir register field for RK3036 VOP
The WIN0 of RK3036 VOP could support YUV data format, but driver
forget to add the uv_vir register field for it.
Change-Id: Ie27216d0612d41fec02346ce65412207ed26d4a1
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
(am from https://patchwork.kernel.org/patch/
9157349/)
Elaine Zhang [Mon, 27 Jun 2016 09:04:54 +0000 (17:04 +0800)]
soc: rockchip: power-domain: fix up the PMU_GPU_PWRDW/UP_CNT for RK3399
According to the advice of the IC,
setting the PMU_GPU_PWRDW/PWRUP_CNT regs 6 cycel(250ns) for RK3399 SOC.
Change-Id: I0449069a3b5035bd0442fcd74b645de9480a1d89
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
Finley Xiao [Tue, 21 Jun 2016 10:10:22 +0000 (18:10 +0800)]
ARM64: dts: rockchip: rk3366: assign parent for i2s_src
As the 750MHz cpll can't produce accurate frequancy for i2s,
for example 11289600Hz, so assign their parents to the 576MHz gpll.
Change-Id: I430bce21ae69b47e561a95e691276d0c921a702c
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
Finley Xiao [Tue, 21 Jun 2016 10:07:39 +0000 (18:07 +0800)]
clk: rockchip: add clock ids for i2s_src on RK3366
Set the newly added id for i2s_src, so that they can be called
in other parts.
Change-Id: Ie4ecc4d19e3ae64a07d1f2a80aa08d40f38d09ad
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
Yakir Yang [Fri, 24 Jun 2016 07:18:45 +0000 (15:18 +0800)]
FIXUP: drm/bridge: analogix_dp: misc update to upstream version
This misc update would try to fix below comments from my eDP thread[0],
and lucky to say this version is stable, and i'm start to perpare the
pull request to David with this version. So i guess it's time to create
a misc FIXUP patch to address the comments.
[0]: https://patchwork.kernel.org/patch/
9175613/
- Correct the misspell of "marcos" in commit message (Dominik, reviewed at Google Gerrit)
- Write a kerneldoc-style comment explaining the chips data fields (Tomasz, reviewed at Google Gerrit)
- Drop the '.lcdcsel_mask' number in chips data field (Tomasz, reviewed at Google Gerrit)
- Make this hack code more clear (Tomasz, reviewed at Google Gerrit)
reg = ~reg & REF_CLK_MASK; ---> reg ^= REF_CLK_MASK;
- Give the "rk3399-edp" a separate line for clarity in document (Tomasz, reviewed at Google Gerrit)
- Move 'output_type' setting before the return statement (Tomasz, reviewed at Google Gerrit)
- Avoid to change any internal driver state in .mode_valid interface. (Tomasz, reviewed at Google Gerrit)
- Hook the connector's color_formats in .get_modes directly. (Tomasz, reviewed at Google Gerrit)
Change-Id: Ic35f166ebac04e417ff3d135e7bf4573bbca2004
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
Heiko Stuebner [Mon, 14 Dec 2015 10:39:58 +0000 (11:39 +0100)]
UPSTREAM: ARM: dts: rockchip: add rk3288-veyron-minnie backlight and panel settings
The pwm for Minnie's backlight needs to be above 1%, so adapt the start
of non-zero brightness accordingly. Minnie is also using a different
panel, so re-set the compatible property.
Change-Id: I4fd13be0a848ca7a33213e07864637bf3792f9af
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Tested-by: Douglas Anderson <dianders@chromium.org>
(cherry pick from commit
712e6051c440a41f5e797412afa7b246d27adc69)
Heiko Stuebner [Mon, 14 Dec 2015 10:32:28 +0000 (11:32 +0100)]
UPSTREAM: ARM: dts: rockchip: add core rk3288-veyron backlight and panel nodes
Many Veyron chromebooks share the same panel type, so define the core
settings for all of them and allow the few runaways to override it later.
Change-Id: I48668b9fa156f02de94a2ac8c0a20a3407a201b0
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Tested-by: Douglas Anderson <dianders@chromium.org>
(cherry pick from commit
dfb2146efc6b07f1a6cc04938248c2ce948c9c98)
Heiko Stuebner [Tue, 27 Oct 2015 23:19:37 +0000 (00:19 +0100)]
UPSTREAM: ARM: dts: rockchip: move edp-hpd pin definition into common location
The edp hotplug pin is fixed on the soc side, anybody wanting to use it
will need the same definition anyway, so move it to a common location.
Change-Id: I49a424eeb755d6bfaf38b91cadfd6d8ff7be8ccf
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Tested-by: Douglas Anderson <dianders@chromium.org>
(cherry pick from commit
a4e00345b29dbc93fe7e6f4070458f325261b0ac)
Heiko Stuebner [Wed, 28 Oct 2015 09:55:19 +0000 (10:55 +0100)]
UPSTREAM: ARM: dts: rockchip: add rk3288 displayport controller node
Add the rk3288 edp node and its hooks into the display-subsystem.
Change-Id: I1bd7617203e9c36c426bd69fd23f99c1e10a8c99
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Tested-by: Douglas Anderson <dianders@chromium.org>
(cherry pick from commit
6df7ec6186644a4ffb4f0c859327ef41a1145a5f)
Heiko Stuebner [Wed, 28 Oct 2015 09:54:22 +0000 (10:54 +0100)]
UPSTREAM: ARM: dts: rockchip: add rk3288 edp-phy node
Add the core device node of the edp-phy on rk3288 socs.
Change-Id: I34d23617abfaeefa5ec527c7b2ce67bc3b614c68
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Tested-by: Douglas Anderson <dianders@chromium.org>
(cherry pick from commit
f5663969d8125a5c5b7835812e1e636ecedf030b)
Philipp Zabel [Tue, 24 Feb 2015 10:42:08 +0000 (11:42 +0100)]
UPSTREAM: drm/rockchip: remove rockchip_drm_encoder_get_mux_id
It is replaced by drm_of_encoder_active_endpoint_id.
Change-Id: I0d09b768951192cd781d0b5c3e5652f66dc4cdaa
Suggested-by: Daniel Kurtz <djkurtz@chromium.org>
Reviewed-by: Daniel Kurtz <djkurtz@chromium.org>
Reviewed-by: Heiko Stuebner <heiko@sntech.de>
Tested-by: Yakir Yang <ykk@rock-chips.com>
[for dw_hdmi-rockchip]
Acked-by: Mark Yao <mark.yao@rock-chips.com>
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
(cherry-pick from commit
16450616790af5ef5dda79e3081916af723756da)
Philipp Zabel [Tue, 24 Feb 2015 10:34:01 +0000 (11:34 +0100)]
UPSTREAM: drm: add drm_of_encoder_active_endpoint helpers
This patch adds a helper to parse the encoder endpoint connected to the
encoder's crtc and two helpers to return its id and port id.
This can be used to determine input mux setting from endpoint or port ids.
Change-Id: I48eb7c66edb951af40085e4e388afbd5d4b2c77b
Suggested-by: Daniel Kurtz <djkurtz@chromium.org>
Reviewed-by: Daniel Kurtz <djkurtz@chromium.org>
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
(cherry pick from commit
4cacf91fcb1d7118e93caf9cb6651d7f7b56e58d)
Yakir Yang [Mon, 15 Feb 2016 11:01:34 +0000 (19:01 +0800)]
UPSTREAM: phy: Add driver for rockchip Display Port PHY
Add phy driver for the Rockchip DisplayPort PHY module. This
is required to get DisplayPort working in Rockchip SoCs.
Change-Id: Ied28937c12584aee9654af775d4cf0cac4eddec5
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
Reviewed-by: Heiko Stuebner <heiko@sntech.de>
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
(cherry pick from commit
fd968973de95c68982babf3d9723dcde2f2a87cf)
Shawn Lin [Fri, 24 Jun 2016 09:48:57 +0000 (17:48 +0800)]
mmc: dw_mmc: fix unmap sg twice when finding data err
DATA_OVER(the same for RI/TI of IDMAC) interrupt may come
up together with data error interrupts. If so, the interrupt
routine set EVENT_DATA_ERR to the pending_events and schedule
the tasklet but we may still fallback to the IDMAC interrupt
case as the tasklet may come up a little late, namely right
after the IDMAC interrupt checking. This will casue dw_mmc
unmap sg twice. We can easily see it with CONFIG_DMA_API_DEBUG
enabled.
WARNING: CPU: 0 PID: 0 at lib/dma-debug.c:1096 check_unmap+0x7bc/0xb38
dwmmc_exynos
12200000.mmc: DMA-API: device driver tries to free DMA memory it
has not allocated [device address=0x000000006d9d2200]
[size=128 bytes]
Modules linked in:
CPU: 0 PID: 0 Comm: swapper/0 Not tainted 4.7.0-rc4 #26
Hardware name: SAMSUNG EXYNOS (Flattened Device Tree)
[<
c0112b4c>] (unwind_backtrace) from [<
c010d888>] (show_stack+0x20/0x24)
[<
c010d888>] (show_stack) from [<
c03fab0c>] (dump_stack+0x80/0x94)
[<
c03fab0c>] (dump_stack) from [<
c0123548>] (__warn+0xf8/0x110)
[<
c0123548>] (__warn) from [<
c01235a8>] (warn_slowpath_fmt+0x48/0x50)
[<
c01235a8>] (warn_slowpath_fmt) from [<
c042ac90>] (check_unmap+0x7bc/0xb38)
[<
c042ac90>] (check_unmap) from [<
c042b25c>] (debug_dma_unmap_sg+0x118/0x148)
[<
c042b25c>] (debug_dma_unmap_sg) from [<
c077512c>] (dw_mci_dma_cleanup+0x7c/0xb8)
[<
c077512c>] (dw_mci_dma_cleanup) from [<
c0773f24>] (dw_mci_stop_dma+0x40/0x50)
[<
c0773f24>] (dw_mci_stop_dma) from [<
c0777d04>] (dw_mci_tasklet_func+0x130/0x3b4)
[<
c0777d04>] (dw_mci_tasklet_func) from [<
c0129760>] (tasklet_action+0xb4/0x150)
[<
c0129760>] (tasklet_action) from [<
c0101674>] (__do_softirq+0xe4/0x3cc)
[<
c0101674>] (__do_softirq) from [<
c0129030>] (irq_exit+0xd0/0x10c)
[<
c0129030>] (irq_exit) from [<
c01778a0>] (__handle_domain_irq+0x90/0xfc)
[<
c01778a0>] (__handle_domain_irq) from [<
c0101548>] (gic_handle_irq+0x64/0xa8)
[<
c0101548>] (gic_handle_irq) from [<
c010e3d4>] (__irq_svc+0x54/0x90)
Exception stack(0xc1101ef8 to 0xc1101f40)
1ee0:
00000001 00000000
1f00:
00000000 c011b600 c1100000 c110753c 00000000 c11c3984 c11074d4 c1107548
1f20:
00000000 c1101f54 c1101f58 c1101f48 c010a1fc c010a200 60000013 ffffffff
[<
c010e3d4>] (__irq_svc) from [<
c010a200>] (arch_cpu_idle+0x48/0x4c)
[<
c010a200>] (arch_cpu_idle) from [<
c01669d8>] (default_idle_call+0x30/0x3c)
[<
c01669d8>] (default_idle_call) from [<
c0166d3c>] (cpu_startup_entry+0x358/0x3b4)
[<
c0166d3c>] (cpu_startup_entry) from [<
c0aa6ab8>] (rest_init+0x94/0x98)
[<
c0aa6ab8>] (rest_init) from [<
c1000d58>] (start_kernel+0x3a4/0x3b0)
[<
c1000d58>] (start_kernel) from [<
4000807c>] (0x4000807c)
---[ end trace
256f83eed365daf0 ]---
Change-Id: Idc1b46aeac92d715e368533352b2bb75d65d4bbd
Reported-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
Xing Zheng [Tue, 21 Jun 2016 12:33:28 +0000 (20:33 +0800)]
UPSTREAM: net: stmmac: dwmac-rk: add rk3228-specific data
Add constants and callback functions for the dwmac on rk3228/rk3229 socs.
As can be seen, the base structure is the same, only registers and the
bits in them moved slightly.
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
Reviewed-by: Heiko Stuebner <heiko@sntech.de>
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
(cherry picked from git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git
master commit
e7ffd81233334b7755050523cb7e0456ae3d2e53)
Conflicts:
Documentation/devicetree/bindings/net/rockchip-dwmac.txt
[zx: conflict with rk3366 and rk3399 that have not been sent to upstream.]
Change-Id: Ibae845ded567e11a8428f6f45510cd5443845e17
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
Jianqun Xu [Tue, 21 Jun 2016 09:22:09 +0000 (17:22 +0800)]
ARM64: dts: rk3399-evb2: remove 1.8G support for A72
Some RK3399 evb2 cannot support 1.8G for A72, maybe caused by
current limit, but remove it anyway for evb2.
Change-Id: Ibaa940696ccbdc59131c49e9a643a63863768ea2
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
Huibin Hong [Wed, 15 Jun 2016 09:40:42 +0000 (17:40 +0800)]
spi: rockchip: set tx burst len 16, rx burst len 1.
Set ROCKCHIP_SPI_DMATDLR (rs->fifo_len - 16 - 1), which
can keep spi transferring. By the way, rx burst len must be
set 1, because it is hard to deal with the unaligned length.
Such as burst leng 16, ROCKCHIP_SPI_DMARDLR 16, when rx fifo
reaches 16, dma receive 16 bytes. But if the last bytes is less
than 16, dma will miss the bytes left in the rx fifo.
Change-Id: I846db94a87955453e617620ade32f2e68f01c01d
Signed-off-by: Huibin Hong <huibin.hong@rock-chips.com>
Huibin Hong [Wed, 15 Jun 2016 09:24:03 +0000 (17:24 +0800)]
dmaengine: pl330: support transfer that doesn't align with (burst len * burst size)
Below code transfers 0x10002 bytes:
First loop 256*16*16=0x10000, burst size is 1, burst length is 16.
Then the second loop 2 bytes, burst size is 1, burst length is 1.
f0041000: DMAMOV CCR 0xbc02f1
f0041006: DMAMOV SAR 0xdd6c0000
f004100c: DMAMOV DAR 0xff1d0400
f0041012: DMALP_0 15
f0041014: DMALP_1 255
f0041016: DMAWFPB 12
f0041018: DMALDA
f0041019: DMASTPB 12
f004101b: DMAFLUSHP 12
f004101d: DMALPENDA_1 bjmpto_7
f004101f: DMALPENDA_0 bjmpto_b
f0041021: DMAMOV CCR 0x800201
f0041027: DMALP_1 1
f0041029: DMAWFPB 12
f004102b: DMALDA
f004102c: DMASTPB 12
f004102e: DMAFLUSHP 12
f0041030: DMALPENDA_1 bjmpto_7
f0041032: DMASEV 0
f0041034: DMAEND
Change-Id: I97ef33aeac8ebe18c63201cf4c1c04f5548e9a4a
Signed-off-by: Huibin Hong <huibin.hong@rock-chips.com>
Arnd Bergmann [Tue, 31 May 2016 21:12:00 +0000 (23:12 +0200)]
UPSTREAM: ASoC: hdmi-codec: select CONFIG_HDMI
SND_SOC_HDMI_CODEC can be enabled without HDMI support, leading
to a link error:
In function `hdmi_codec_hw_params':
sound/soc/codecs/hdmi-codec.c:188: undefined reference to `hdmi_audio_infoframe_init'
sound/built-in.o:(.debug_addr+0x1a5c0): undefined reference to `hdmi_audio_infoframe_init'
This changes the Kconfig file to select HDMI, as the other codec using
hdmi_audio_infoframe_init already does.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Jyri Sarha <jsarha@ti.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
(cherry picked from git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git fix/hdmi
commit
6de7df8d1b1a45a07d6ecc6b4f94179e1e68f5ec)
Change-Id: Iddf276cef778db8cb28e5ea86dec146136887056
Signed-off-by: Chris Zhong <zyw@rock-chips.com>
Philipp Zabel [Fri, 22 Apr 2016 08:40:11 +0000 (10:40 +0200)]
UPSTREAM: ASoC: hdmi-codec: Add ELD control
Signed-off-by: Mark Brown <broonie@kernel.org>
(cherry picked from commit
db71336b9eec22c21cef65c90cea49130c464994)
Change-Id: Ie82a1f72c3601b64c61b2d17f5849f892010f5ef
Signed-off-by: Chris Zhong <zyw@rock-chips.com>
Philipp Zabel [Wed, 20 Apr 2016 08:59:58 +0000 (10:59 +0200)]
UPSTREAM: ASoC: hdmi-codec: Add ELD control
ALSA doesn't know about all the different compressed audio formats,
so there is no interface to let userspace enumerate the formats that
are supported by the connected sink. Exporting the raw ELD bytes to
userspace allows an application to select the appropriate audio format
depending on the current capabilities of the connected HDMI sink device.
Usually userspace then just pretends to ALSA that the data is in one of
the raw 16-bit PCM audio formats and relies on the IEC controls to tell
the sink how to interpret the data.
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Reviewed-by: Jyri Sarha <jsarha@ti.com>
Tested-by: Jyri Sarha <jsarha@ti.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
(cherry picked from commit
81151cfb6bfe69f1c5a52b795eb005226a322c9e)
Change-Id: I37a90865af97be1c1e21b5e677aa7d8ce58bdf23
Signed-off-by: Chris Zhong <zyw@rock-chips.com>
Jyri Sarha [Thu, 31 Mar 2016 13:36:00 +0000 (16:36 +0300)]
UPSTREAM: ASoC: hdmi-codec: Add hdmi-codec for external HDMI-encoders
The hdmi-codec is a platform device driver to be registered from
drivers of external HDMI encoders with I2S and/or spdif interface. The
driver in turn registers an ASoC codec for the HDMI encoder's audio
functionality.
The structures and definitions in the API header are mostly redundant
copies of similar structures in ASoC headers. This is on purpose to
avoid direct dependencies to ASoC structures in video side driver.
Signed-off-by: Jyri Sarha <jsarha@ti.com>
Acked-by: Arnaud Pouliquen <arnaud.pouliquen@st.com>
Acked-by: PC Liao <pc.liao@mediatek.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
(cherry picked from commit
09184118a8abae030539469848d475adcc0e5839)
Change-Id: I4fc0651b732c2604df58cb2e0ec5f5edeecdf412
Signed-off-by: Chris Zhong <zyw@rock-chips.com>
Jyri Sarha [Thu, 31 Mar 2016 13:35:59 +0000 (16:35 +0300)]
UPSTREAM: ALSA: pcm: Allow 32 bit sample format in IEC958 channel status helper
Treat 32 bit sample width as if it was 24 bits when generating IEC958
channel status bits. On some platforms 24 sample width is problematic
and to get full 24 bit precision a 32 bit format, using only the 24
most significant bits, may have to be used.
Signed-off-by: Jyri Sarha <jsarha@ti.com>
Reviewed-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Mark Brown <broonie@kernel.org>
(cherry picked from commit
4a462ce084d5beb92cfc68f53f88c035c82e6b59)
Change-Id: I26461c0d8b92bfc6547f81006dacb7a7b3068782
Signed-off-by: Chris Zhong <zyw@rock-chips.com>
Jyri Sarha [Thu, 31 Mar 2016 13:35:58 +0000 (16:35 +0300)]
UPSTREAM: ALSA: pcm: add IEC958 channel status helper for hw_params
Add IEC958 channel status helper that gets the audio properties from
snd_pcm_hw_params instead of snd_pcm_runtime. This is needed to
produce the channel status bits already in audio stream configuration
phase.
Signed-off-by: Jyri Sarha <jsarha@ti.com>
Reviewed-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Mark Brown <broonie@kernel.org>
(cherry picked from commit
4a4436573a6669516f73bac25016683d396ed4c4)
Change-Id: Ie19500cd63fb311ec273035c336acc8c568d84db
Signed-off-by: Chris Zhong <zyw@rock-chips.com>
Huang, Tao [Thu, 16 Jun 2016 14:00:08 +0000 (16:00 +0200)]
UPSTREAM: clocksource/drivers/rockchip: Add support for the rk3399 SoC
The only difference between the rk3399 SoC and the other ones is the control
register offset which is different.
Add a new field to store the control register address depending on the SoC
and use it instead of the <base> + <control offset>.
BUG=chrome-os-partner:54522
TEST=Tested on gru, cat /proc/interrupts |grep timer
Change-Id: I37f4d30a8b4609887b175ab7e9b1117b2ac436e4
Signed-off-by: Huang Tao <huangtao@rock-chips.com>
Cc: Daniel Lezcano <daniel.lezcano@linaro.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Heiko Stuebner <heiko@sntech.de>
Tested-by: Jianqun Xu <jay.xu@rock-chips.com>
Signed-off-by: Caesar Wang <wxt@rock-chips.com>
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
(cherry picked from git.linaro.org/people/daniel.lezcano/linux.git clockevents/next
commit
d0e2b96b2f723cb2d3ca992eaa2fe643367830f8)
Reviewed-on: https://chromium-review.googlesource.com/353977
Reviewed-by: Douglas Anderson <dianders@chromium.org>
Huang, Tao [Thu, 16 Jun 2016 13:57:53 +0000 (15:57 +0200)]
UPSTREAM: clocksource/drivers/rockchip: Add the dynamic irq flag to the timer
The rockchip timer is a broadcast timer. Add the CLOCK_EVT_FEAT_DYNIRQ flag
and set the cpumask to all possible cpus to save power by avoiding
unnecessary wakeups and IPIs.
BUG=chrome-os-partner:54522
TEST=Tested on gru, cat /proc/interrupts |grep timer
Change-Id: Ic7de570f35921a292e4687c2bcf408b37334f781
Signed-off-by: Huang Tao <huangtao@rock-chips.com>
Cc: Daniel Lezcano <daniel.lezcano@linaro.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Heiko Stuebner <heiko@sntech.de>
Tested-by: Jianqun Xu <jay.xu@rock-chips.com>
Signed-off-by: Caesar Wang <wxt@rock-chips.com>
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
(cherry picked from git.linaro.org/people/daniel.lezcano/linux.git clockevents/next
commit
11932c2ac6f8c0f20f12a38569a36f0d1b5cfd6b)
Reviewed-on: https://chromium-review.googlesource.com/353976
Reviewed-by: Douglas Anderson <dianders@chromium.org>
Huang, Tao [Mon, 6 Jun 2016 09:26:55 +0000 (17:26 +0800)]
Revert "clocksource: rockchip: remove unnecessary clear irq before request_irq"
This reverts commit
c380160aeae8b786868bd8483b9c1c9f22d15b61.
Change-Id: I435f0989976627e9892ff2bdba91cf41b8b77ef9
Signed-off-by: Huang, Tao <huangtao@rock-chips.com>
Huang, Tao [Mon, 6 Jun 2016 09:15:39 +0000 (17:15 +0800)]
Revert "clocksource: rockchip: add dynamic irq flag to the timer"
This reverts commit
fb50410985e6f6874dcfe6e3f12b4bccd5d0335b.
Change-Id: I1d04b207ae34a15688c1dc77f08525a45541e39e
Signed-off-by: Huang, Tao <huangtao@rock-chips.com>
Huang, Tao [Mon, 6 Jun 2016 09:14:54 +0000 (17:14 +0800)]
Revert "clocksource: rockchip: add support for rk3399 SoC"
This reverts commit
b7355e9f6230d28ee92de14426c36ab0b208f51a.
Change-Id: If04877735b4b99e3f1f6a691480413872a0a9562
Signed-off-by: Huang, Tao <huangtao@rock-chips.com>
xubilv [Tue, 21 Jun 2016 07:49:07 +0000 (15:49 +0800)]
video: rockchip: mipi: modify judgment condition for rk32_dsi_set_bits
Change-Id: I71a2515f871dc3d8bbcd8567565fc412c39d9a81
Signed-off-by: xubilv <xbl@rock-chips.com>
Zhangbin Tong [Mon, 20 Jun 2016 06:43:23 +0000 (14:43 +0800)]
arm64: dts: rockchip: add rk3399 box 0505 board support
Add minimal DT files for the rockchip box board, based on
the rockchip rk3399 SoC.
Change-Id: I6b63e9d4e217412cc6e1a01a4cb9e0be58ff3d6f
Signed-off-by: Zhangbin Tong <zebulun.tong@rock-chips.com>
Xing Zheng [Tue, 21 Jun 2016 04:59:47 +0000 (12:59 +0800)]
UPSTREAM: clk: rockchip: export rk3228 MAC clocks
This patch exports related MAC clocks for dts reference.
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
(cherry picked from git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip.git
v4.8-clk/next commit
af5cf5deb074d9011209d3979096620d1dadf44a)
Change-Id: I12d60a82b08ba528b3e0ac3f45dc437514df6f8a
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
Xing Zheng [Tue, 21 Jun 2016 04:53:30 +0000 (12:53 +0800)]
UPSTREAM: clk: rockchip: rename rk3228 sclk_macphy_50m to sclk_mac_extclk
The sclk_macphy_50m is confusing, the sclk_mac_extclk describes
a external clock clearly.
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
(cherry picked from git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip.git
v4.8-clk/next commit
24449885d79d79ae22a5ee2cb749161ccb5a141e)
Change-Id: I81aaed6cb9d766d9c558eaf8659eb9943290f409
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
Xing Zheng [Tue, 21 Jun 2016 04:53:29 +0000 (12:53 +0800)]
UPSTREAM: clk: rockchip: export rk3228 audio clocks
This patch exports related i2s/spdif clocks for dts reference.
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
(cherry picked from git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip.git
v4.8-clk/next commit
c64032c5026f55cf496adc4281b9356b713ee56f)
Change-Id: Id979feaf98be2879b23b1759bbcb5fa022b71be6
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
Xing Zheng [Tue, 21 Jun 2016 04:59:47 +0000 (12:59 +0800)]
UPSTREAM: clk: rockchip: add clock-ids for rk3228 MAC clocks
This patch exports related MAC clocks for dts reference.
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
(cherry picked from git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip.git
v4.8-shared/clkids commit
9ff59360b863706b50cbcd7ffad9287d67254063)
Change-Id: Ib6f5f2a0ccd19a8b71c384abddacadbd4da291bb
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
Xing Zheng [Tue, 21 Jun 2016 04:53:29 +0000 (12:53 +0800)]
UPSTREAM: clk: rockchip: add clock-ids for rk3228 audio clocks
This patch exports related i2s/spdif clocks for dts reference.
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
(cherry picked from git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip.git
v4.8-shared/clkids commit
5f6d71044f4d766c3636b9fd2c43e7c9d71d31af)
Change-Id: I85e535307b0fa479b50a66bc25e9c3c5132deaa0
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
Xing Zheng [Tue, 21 Jun 2016 04:53:28 +0000 (12:53 +0800)]
UPSTREAM: clk: rockchip: include rk3288 downstream muxes into fractional dividers
During the initial conversion to the newly introduced combined fractional
dividers+muxes the rk3228 clocks were left out, so convert them now.
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
(cherry picked from git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip.git
v4.8-clk/next commit
c73f689eea9f1e1706a600a506ba89f82bd84349)
Change-Id: Iea91d23ec1fa09c4777f7ccdb016514c301f90ec
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
Xing Zheng [Tue, 21 Jun 2016 04:53:27 +0000 (12:53 +0800)]
UPSTREAM: clk: rockchip: fix incorrect rk3228 clock registers
Due to copy and paste carelessly, RK3288_CLKxxx references are incorrect,
we need to fix them.
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
(cherry picked from git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip.git
v4.8-clk/next commit
67de7901c441f7516d3ca967fa64533556cae4e7)
Change-Id: I3910b05343e0f8353ee277f969e4ab32ed94ad6d
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
Shawn Lin [Sun, 13 Mar 2016 04:13:22 +0000 (12:13 +0800)]
UPSTREAM: clk: rockchip: release io resource when failing to init clk
We should call iounmap to relase reg_base since it's not going
to be used any more if failing to init clk.
Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
(cherry picked from git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip.git
v4.8-clk/next commit
1d003eb0805ac5b549e76202a1e95da33f62cb9a)
Change-Id: Ia0161885786d6504fee7e76c6620df98bb2cdb21
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>