The current ATU setup only supports a single memory resource which
isn't sufficient if there are also prefetchable memory regions. In order
to support multiple memory regions, we need to move away from fixed ATU
slots and rework the assignment. As there's always an ATU entry for
config space, let's assign index 0 to config space. Then we assign
memory resources to index 1 and up. Finally, if we have an I/O region
and slots remaining, we assign the I/O region last. If there aren't
remaining slots, we keep the same config and I/O space sharing.
Bug: 268559201
Link: https://lore.kernel.org/r/20201026181652.418729-1-robh@kernel.org
Tested-by: Vidya Sagar <vidyas@nvidia.com>
Signed-off-by: Rob Herring <robh@kernel.org>
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Reviewed-by: Vidya Sagar <vidyas@nvidia.com>
Acked-by: Jingoo Han <jingoohan1@gmail.com>
Cc: Vidya Sagar <vidyas@nvidia.com>
Cc: Jingoo Han <jingoohan1@gmail.com>
Cc: Gustavo Pimentel <gustavo.pimentel@synopsys.com>
Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Cc: Bjorn Helgaas <bhelgaas@google.com>
Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
Signed-off-by: Jon Lin <jon.lin@rock-chips.com>
Change-Id: Ib945de723c29a80f055227474a01806283bd1873
(cherry picked from commit 9f9e59a480)
[Revert the struct change to keep KMI and setting DWC_IATU_IOCFG_SHARED
in a vendor hook so that not to affect vendor modules not use it]
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
* commit '1d40129dd7029e79115445129f96145263cfdbb1': (77 commits)
crypto: rockchip: Use fallthrough pseudo-keyword
Revert "usb: gadget: add transfer_type in struct usb_ep for rockchip"
Revert "usb: gadget: transfer_type depends on CONFIG_NO_GKI"
usb: gadget: f_uac1: Fix ep addr matching when handle sample rate
soc: rockchip: rk_fiq_debugger fix the 'cpu' to unsigned long
media: i2c: cn3927v: fix suspend cause i2c error issue
usb: gadget: uvc: fix uvc state for bulk transfer
ASoC: rockchip: vad: Use snd_soc_find_dai_with_mutex
ASoC: rockchip: multi-dais: Use snd_soc_find_dai_with_mutex
arm64: dts: rockchip: remove androidboot bootargs for px30/rk3399 boards
drm/bridge: sii902x: add FIELD2_OFST config
arm64: dts: rockchip: rk3588-rk806-dual: fix nldo1/nldo2/nldo3 supply
drm/rockchip: dw-dp: Fix a typo
video: rockchip: dvbm: fix a compile warning
spi: rockchip: Add print information in case of spi exception
dt-bindings: spi: spi-rockchip: Add description for rockchip,poll-only property
spi: rockchip: Support cpu polling to complete transmission
rtc: rockchip: get match data with device_get_match_data
video: rockchip: rga3: support tile8*8 mode
video: rockchip: rga3: support win0 scaling in ABC mode
...
Change-Id: Iae8816a61341c1090376fbb42affce4d625aeb4a
Conflicts:
Documentation/devicetree/bindings/connector/usb-connector.yaml
The f_uac1 driver uses the fixed address matching for EP-IN
and EP-OUT (0x82 for EP-IN and 0x01 for EP-OUT) when set/get
sample rate. It has limitation that can only support uac1 func
with EP2-IN and EP1-OUT to set/get sample rate. This patch use
the in_ep->address and out_ep->address instead of the fixed
addresses.
Signed-off-by: William Wu <william.wu@rock-chips.com>
Change-Id: I85f4da663535b4e832e52b42bc1a7d57b85270ee
Set uvc state to UVC_STATE_STREAMING when stream on uvc
for both isoc and bulk transfer, then it can schedule
video pump work in uvc_v4l2_qbuf.
Fixes: c15a7cecb8 ("usb: gadget: uvc: support streaming bulk transfer")
Change-Id: Ie6fab6529cd83d59b34c6dd0028d6ad5b5eed010
Signed-off-by: William Wu <william.wu@rock-chips.com>
The reg FIELD2_OFST should be half the number of pixel/line
in interlace mode.
Signed-off-by: Damon Ding <damon.ding@rock-chips.com>
Change-Id: I3b0de9199768d965a945bf5db5a0902f2103e30e
The input supply is always-on, so this mistake doesn't affect
whether the supply is actually enabled correctly.
Signed-off-by: shengfei Xu <xsf@rock-chips.com>
Change-Id: Ie6411c6fdcf4865290ba725d8203334f1bf8ad35
drivers/video/rockchip/dvbm/rockchip_dvbm.c: In function 'rk_dvbm_setup_iobuf':
./include/linux/kern_levels.h:5:18: warning: format '%x' expects argument of type 'unsigned int', but argument 2 has type 'dma_addr_t' {aka 'long long unsigned int'} [-Wformat=]
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
Change-Id: Ia18c7da7ea47e168741f76365eedc6b9e630e527
The default is DMA and IRQ transmission mode. You can change the
transmission mode to only support cpu polling transmission by adding
"rockchip,poll-only" to the device-tree node.
Change-Id: Icee3f4e899533ee51caab68fb85ec45f64b89d91
Signed-off-by: Jon Lin <jon.lin@rock-chips.com>
This patch fixes a compile warning as following:
drivers/rtc/rtc-rockchip.c: In function 'rockchip_rtc_probe':
drivers/rtc/rtc-rockchip.c:669:14: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
669 | rtc->mode = (unsigned int)of_device_get_match_data(&pdev->dev);
| ^
Fixes: 7344989b7e ("rtc: support rockchip rtc")
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
Change-Id: I53128355e34c6560ccd652631e67c8fc267928f5
work_mode reg is used for iep+vdpp combo IP to check running task,
which is meaningless and not writable in iep alone IP.
so if work_mode == 0, consider as iep alone IP, otherwise check the
value to determine current work mode.
Fixes: 767709ab16 ("video: rockchip: mpp: iep2: Add work mode setting")
Signed-off-by: Chandler Chen <chandler.chen@rock-chips.com>
Change-Id: I4c063e352976170b3c68652e65b0421ef7a82f8f
when buffer needs to refresh the cache, which takes a lot of time and
is not suitable for execution in an interrupt
Signed-off-by: Zefa Chen <zefa.chen@rock-chips.com>
Change-Id: I6b6e54cef62711787430b1b336db3476e3f93e69
IP cores whose clock is under aclk_vdpu_low_pre should not be changed
after power on. If one reduce frequence of clock, others will be
affected and will take longer time to finished work.
Signed-off-by: Johnson Ding <johnson.ding@rock-chips.com>
Change-Id: I631dd9a3f47c5811d6ae27f558a25a98d6022f49
1.Support get_dma_status for polling DMA status
2.Remove the struct of dw_pcie from dmatest
Change-Id: Ifef2b9172234e597354d9ae410d3f39be55cc6a8
Signed-off-by: Jon Lin <jon.lin@rock-chips.com>
Rootcause:
Those devices that do not have multicores but share one mpp_taskqueue,
due to the core_id is default value 0, will fail to attach workqueue.
Thus making mpp->queue = NULL and will crash when use mpp->queue.
Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com>
Change-Id: I805aeadce1ec47ba18f2410864b83dca947655db
At the beginning, we skip walking the PCIe bus if the root port is
in L0 to save the suspend time. However, when enabling L1ss, the
threshold from L0 to L1ss is quite longer than from L0 to L0s or L1.
So we may in the middle stage that PCIe link hasn't wait long enough
to do transition from L0 to L1ss, at that moment we may still in L0.
rk_pcie_downstream_dev_to_d0 won't be called in this situation and
we miss all the ASPM settings. Ideally, we should walk the bus and
decide if anyone of them was marked as ASPM enabled in advanced, then
record ASPM settings. But in this way, there is no difference by fixing
it just as leting remove link state judgement.
Fixes: 0a082fd9da ("PCI: rockchip: dw: Save&Restore L1SS in PM")
Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
Change-Id: Ic0cdf74271241dc78cfd5d23c6c027e82f35bde2
If current task finish with soft timeout, the next
task in pending list will not get processing.
So, need to trigger again in mpp_task_timeout_work to
ensure that next task in pending task gets processed in time.
Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com>
Change-Id: Iefa57c883eda81553c1b4c17be4f18c4dc83c946
Based on hardware testing, the change could improve the rising
edge and falling edge for RXCLK.
Signed-off-by: David Wu <david.wu@rock-chips.com>
Change-Id: I6779f2c1bcdf0e3b9aaa1553e4456cd581304302
Based on hardware testing, the change could improve signal quality for RGMII.
Signed-off-by: David Wu <david.wu@rock-chips.com>
Change-Id: Ibba6130308f152922848687bb00c04a41efce5bc
Enable the following macros for AMP system:
CONFIG_ROCKCHIP_AMP=y
Signed-off-by: Steven Liu <steven.liu@rock-chips.com>
Change-Id: Ie8335e429d0da4414994df553351611351c24704