The URB completion handlers currently reference the stream context.
Now that each URB has its own context structure, convert the decode (and
one encode) functions to utilise this context for URB management.
Change-Id: Ib56b25ca4ec049c5eb75ffceda9c2d8a0c1a96cf
Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
(cherry picked from commit c6d664fe8a)
We currently store three separate arrays for each URB reference we hold.
Objectify the data needed to track URBs into a single uvc_urb structure,
allowing better object management and tracking of the URB.
All accesses to the data pointers through stream, are converted to use a
uvc_urb pointer for consistency.
Change-Id: I03320cff8ec5cb268b62610b9852b32505f136aa
Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
(cherry picked from commit 811496c967)
The device information structure is currently copied field by field in
the uvc_device structure. As we only have two fields at the moment this
isn't much of an issue, but it prevents easy addition of new info
fields.
Fix this by storing the uvc_device_info pointer in the uvc_device
structure. As a result the uvc_device meta_format field can be removed.
The quirks field, however, needs to stay as it can be modified through a
module parameter.
As not all device have an information structure, we declare a global
"NULL" info instance that is used as a fallback when the driver_info is
empty.
Change-Id: I648490fb775891687b6eededafd270dafe50641f
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
(cherry picked from commit 3a03284dd4)
The input event callback does not check the governor_enabled state on
affected CPUS, which will cause kernel panic because the governor_data
will be NULL when governor exit.
Change-Id: Ic2e5cdaefa519701b23203bb77804ce850a5d349
Signed-off-by: Liang Chen <cl@rock-chips.com>
No android board use hid-over-i2c.
before:
text data bss dec hex filename
12536545 4902620 2158240 19597405 12b085d vmlinux
after:
text data bss dec hex filename
12530111 4902420 2158240 19590771 12aee73 vmlinux
Save about 6K.
Change-Id: Idc64bafe267d614041faf7ac0355fffabba8fc36
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
before:
text data bss dec hex filename
12756996 5025528 2158624 19941148 130471c vmlinux
after:
text data bss dec hex filename
12536545 4902620 2158240 19597405 12b085d vmlinux
Save about 336K.
Change-Id: Ie50e85bd2673fa6ec355e79627ee0ccb166921b7
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
before:
text data bss dec hex filename
12231986 4559104 2146976 18938066 120f8d2 vmlinux
after:
text data bss dec hex filename
12232306 3698944 2146976 18078226 113da12 vmlinux
Save about 840K.
Change-Id: I4472a77bdd2533516dd9bf5007d9507939647562
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
The legacy node "dwc_control_usb" and related properties
is used for dwc_otg_310 driver which has been deprecated,
so remove these unused nodes and properties for rk3288 usb.
Change-Id: I38004b84fb03e879d8910bc125090c3f8197afd1
Signed-off-by: William Wu <william.wu@rock-chips.com>
This patch removes the legacy dwc_otg_310 drivers which are
used for RK3288/RK3368 SoCs, and use dwc2 drivers instead
of it.
Change-Id: I281a02f335fe64fd20d3cdb301d41eda74ea1b63
Signed-off-by: William Wu <william.wu@rock-chips.com>
If the Type-C PHY works as DP 4 lanes, the Tx/Rx lanes
of Type-C USB 3.0 PHY is used for DP lanes, so it needs
to force the USB 3.0 to USB 2.0 only, and make sure USB
3.0 xHCI controller doesn't support USB 3.0 port.
With this patch, an ASUS Type-C to HDMI dongle which
supports DP 4 lanes and USB 2.0 simultaneously can
suspend/resume successfully.
Change-Id: I77049702c768bd56d638d11c29aae07eeb608282
Signed-off-by: William Wu <william.wu@rock-chips.com>
Free g_vendor when init failed or module exit.
Alloc g_vendor once because g_vendor size is large.
Change-Id: Ia4909ba86f010c59fc2821dd0732b698b188bbcc
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
for some scene we need to alloc continue buffer from dma buffer,
but vop iommu is still enable, so we add iommu map for dma buffer.
Change-Id: I4749eac53609f865d0d4230364b1cbaf39ee095a
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
the previous practice will set the reg of i2s_select to select spdif when
audio shutdown and playing spdif at this point will cause the audio to
come out of hdmi as well
Change-Id: I8f9f53ea71ce83b33e32b575bacd2249da3b7d8f
Signed-off-by: Xinhuang Li <buluess.li@rock-chips.com>
support camera gc2355 default for rk3399_tve1030g board
Change-Id: Ib90711a7ade38228ad5d3e6568777b39cfd932a2
Signed-off-by: Wu Liangqing <wlq@rock-chips.com>
The duplicated arm-pmu node is added by commit
d88bd40057
Fixes: d88bd40057 ("arm64: dts: rockchip: rk3368 add more ip nodes to core dts")
Change-Id: I6583345b5903ae4a3f7383b7f43399ed0cbafc0d
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
hdr_static_metadata is no longer used for HDR configuration,
used only as store the hdr info after edid parsing.
Change-Id: Ib2c5e3e739267433176181aa9a0611a50a847125
Signed-off-by: Algea Cao <algea.cao@rock-chips.com>
We previously registered two extcon notifier in dwc3/dwc3_rockchip.c in
kernel-4.4, EXTCON_USB and EXTCON_USB_HOST respectively, so we only need to
send EXTCON_USB notifications when acting as a peripheral. In the new
kernel 4.19 code, only EXTCON_USB_HOST is registered in dwc3/drd.c. In
order to be notified to dwc3 controller as a peripheral, we need to send a
EXTCON_USB_HOST notification at the same time.
Change-Id: I7507b90c94d35877ce704222a49e8e673a49a162
Signed-off-by: Jianing Ren <jianing.ren@rock-chips.com>
In order to switch the drd mode of the dwc3 controller by software, we
add these registers in the driver.
Change-Id: Ice5009631f491915ca78b5310cc9c623269bff41
Signed-off-by: Jianing Ren <jianing.ren@rock-chips.com>
priority order:
1. MPP_CMD_SET_REG_ADDR_OFFSET define the trans table each task.
2. MPP_CMD_INIT_TRANS_TABLE define once when open session.
3. use default trans table define in each device.
Change-Id: I13409fb67d58dfa53295aabe7952d044dc1637d4
Signed-off-by: Ding Wei <leo.ding@rock-chips.com>
In the original probe process, firstly check if it is a dwc3 core, then
get the clock and deassert the reset. This sequence will cause probe
breaking when the relevant register values is zero when the reset is
asserted. To avoid this problem, I adjust the order of probe, firstly
deassert the reset, and then check whether it is a dwc3 core.
Change-Id: Ib5783e450b45dad7ded82fc9c6cd0492bc788d11
Signed-off-by: Jianing Ren <jianing.ren@rock-chips.com>
This patch enables the integrated PHY for rk3229 evb board
by default.
To use the external 1000M PHY on evb board, need to make
some switch of evb board to be on.
Change-Id: I31f2ca6293eeac8a70aca20160f325abdf7509b6
Signed-off-by: Xiao Ya peng <yp.xiao@rock-chips.com>
Commit b7526773a3 ("media: i2c: add enum_frame_interval
function for iq tool 2.2 and hal3") add enum_frame_interval
function, but forget to use in struct v4l2_subdev_pad_ops, fix it.
Fixes: b7526773a3 ("media: i2c: add enum_frame_interval function for iq tool 2.2 and hal3")
Change-Id: I8383a7a409ca5f2fa3a8f8d98c38b94062c2bb36
Signed-off-by: Wang Panzhenzhuan <randy.wang@rock-chips.com>