Building IOMMU drivers as modules requires that the core IOMMU API
symbols are exported as GPL symbols.
Signed-off-by: Will Deacon <will@kernel.org>
Tested-by: John Garry <john.garry@huawei.com> # smmu v3
Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Joerg Roedel <jroedel@suse.de>
Change-Id: Ib06e99673ebcf2bf6524712c335965dca6d4bdbe
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
(cherry picked from commit a7ba5c3d00)
rv1109-38-v10-spi-nand is a spi nand,rmii gmac phy,os04a10 board.
Signed-off-by: Nickey Yang <nickey.yang@rock-chips.com>
Change-Id: Ie4d3de1f87aee1d630152de95b43714234d32932
this is only used to compatibility with old hwc code
Change-Id: Idcf2ca235d320656adf20d010dcd3a3940159c0d
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
we use new method to implement vop win lite multi area support.
This reverts commit 8b19e980a6.
Change-Id: I2b5ac07ba38fdb416291635719d0634b7824268c
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
like rk3288/rk3399/px30 win lite, the hardware can support multi area,
we register them as normally plane to drm framwork, but they have some limitations:
one group a multi areas need use same zpos, they can't overlap, etc.
so we add SHARE_ID prop to identy them.
Change-Id: Ia814e6b0896f0e74a53193afe6642eff145da562
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
use rockchip_drm_sub_dev_list to manage rockchip drm sub dev and record
connector, offer new method to find connector through the sub_dev_list.
Change-Id: If9508cf9ff51f6f9e1d13c42c60491f4aec4b9c1
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
Refer to USB 2.0 spec, if a transfer with size divisible to EPs max
packet size and with req->zero field is set, which means that after
data is transfered it is also should be transfered a zero length packet
at the end.
For uvc bulk in transfer, it only sets the req->zero flag to enable
sent the zero length packet to USB Host if the video->payload_size
equal to video->max_payload_size. However, this condition is not
enough, because if the image size is more than the max_payload_size,
the image will be split to several transaction, and if the payload_size
at the last transaction is less than then max_payload_size, it will
not enable the zero length packet xfer.
This patch sets the req->zero flag if the whole image has been
transferred.
Change-Id: I9a62a8b1df0e44b4291b6add664357d148c19d1f
Signed-off-by: William Wu <william.wu@rock-chips.com>
The sub devices of rkisp will allocate memory from rkisp before the
reserved memory been assigned to rkisp, and will alloc from default
continuous cma memory region instead.
The current system may never do free these memory, so the issue when
to free these memory can not happen.
Fix free issue by moving the assign memory earlier.
Also return error if failed to assign reserved memory since driver
has no iommu.
Change-Id: I4bd3437e5536bda827c6ca71d630a993fcce2d8d
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
Master fetch data and cpu update page table may work in parallel, may
have the following procedure:
master cpu
fetch dte update page table
| |
(make dte invalid) <- zap iotlb entry
| |
fetch dte again |
(make dte invalid) <- zap iotlb entry
| |
fetch dte again |
(make dte invalid) <- zap iotlb entry
| |
fetch dte again |
(make iommu block) <- zap iotlb entry
New iommu version has the above bug, if fetch dte consecutively four
times, then it will be blocked. Fortunately, we can set bit 31 of
register MMU_AUTO_GATING to 1 to make it work as old version which does
not have this issue.
This issue only appears on RV1126 so far, so make a workaround dedicated
to "rockchip,rv1126" machine type.
Change-Id: I808bf87898e2dfdd8ada5666234e4c2c3237ffde
Signed-off-by: Simon Xue <xxm@rock-chips.com>
move loader_protect flag from drm_mode_config to rockchip_drm_private.
Change-Id: I7f9ec53ac9a29d3b467697a99159ad4bb7d05e3d
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
rockchip_drm_crtc_send_mcu_cmd will be used by panel-simple.ko
Change-Id: I463e52335244564b5a837ff045cff0ab005ea25d
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
drm_atomic_set_property isn't export function, so we set default prop
vale to instead of it.
Change-Id: I4acc6ddd045415aa180d467b45085609408e2447
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
Add an optional empty property - 'inactive' for reserved memory,
only do effect for regions with reusable property.
CMA area in 'inactive' status means that the operating system can't
alloc pages from the regions.
Change-Id: I34ecde9bc9c2e3cec175e6c032911c1bae21295c
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
This patch moves the tsadc default parameters to the rv1126.dtsi.
When the hardware changes, the tsadc parameters need to be
reconfigured in DTS.(Rockchip_Developer_Guide_Thermal_CN 3.2)
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
Change-Id: I6ff427e703006135e32e5748e89b3a1367a035c9
TCS452x registers are special and different from others.
Fixes: eb1731965c ("regulator: fan53555: add support for Rockchip RK860X regulators")
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
Change-Id: I7694defe4f090ff846dbdb88bad51efd07fa241c
1.update the new get regulator method
2.correct initialization sequence
3.fix the level setting of reset gpio
4.support raw12bit linear/hdr mode
5.implement RKMODULE_SET/GET_HDR_CFG
Signed-off-by: Nickey Yang <nickey.yang@rock-chips.com>
Change-Id: Ie9b38ce69b4eb239aec34fa91c3e59ab872ac8c5
Add a new property 'inactive' for reserved memory node, which used for
reserved memory region with 'reusable' property.
When a reserved memory region with 'reusable' property, the operating
system can allocate pages from the CMA region and move outside of CMA
region when cma allocate happend.
The new property 'inactive' can set the CMA region to seperate from the
operating system pages, make the region only used by cma allocate, and
not need to do isolate range.
Change-Id: Id99a1433fb9c36cc10b3293436292efff28cac25
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
when taskqueue-node not set, it should be considered a new taskqueue.
But when resetgroup-node not set, consider it not need reset asynchronous.
Change-Id: I603df406faaecc46cadef30947230c387e8538cd
Signed-off-by: Ding Wei <leo.ding@rock-chips.com>
tips:
1. it should not use reset->rw_sem when reset is not shared.
2. if hardware is combo, and work is time sharing, which
reset_group in the same taskqueue, the reset->rw_sem
is also should turn off.
Change-Id: I9d89e3118997cc8d1871ac77799faf85043743d3
Signed-off-by: Ding Wei <leo.ding@rock-chips.com>
1. each bit mark task had reached instead of state changed.
2. irq and timeout are ambiguous, if irq reach, timeout_work can not
response. Thus, there use TASK_STATE_HANDLE to handle it.
Change-Id: I1723b49b12abdf6bf1746b3e59431decab928c44
Signed-off-by: Ding Wei <leo.ding@rock-chips.com>