Michal Simek
72cce7dd9f
dmaengine: xilinx: dpdma: Fix spacing around addr[i-1]
...
Use proper spacing for array calculation. Issue is reported by
checkpatch.pl --strict.
Signed-off-by: Michal Simek <michal.simek@xilinx.com >
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Link: https://lore.kernel.org/r/ef7cde6f793bfa6f3dd0a8898bad13b6407479b0.1624446456.git.michal.simek@xilinx.com
Signed-off-by: Vinod Koul <vkoul@kernel.org >
2021-06-24 16:40:04 +05:30
Michal Simek
536bc5e6fd
dmaengine: xilinx: dpdma: Use kernel type u32 over uint32_t
...
Use u32 kernel type instead of uint32_t. Issue is reported by
checkpatch.pl --strict.
Signed-off-by: Michal Simek <michal.simek@xilinx.com >
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Link: https://lore.kernel.org/r/9569008794d519b487348bfeafbfd76c5da5755e.1624446336.git.michal.simek@xilinx.com
Signed-off-by: Vinod Koul <vkoul@kernel.org >
2021-06-24 16:39:51 +05:30
Yang Li
ce939833b8
dmaengine: xilinx: dpdma: fix kernel-doc
...
Fix function name in xilinx/xilinx_dpdma.c comment to remove
a warning found by kernel-doc.
drivers/dma/xilinx/xilinx_dpdma.c:935: warning: expecting prototype for
xilinx_dpdma_chan_no_ostand(). Prototype was for
xilinx_dpdma_chan_notify_no_ostand() instead.
Reported-by: Abaci Robot <abaci@linux.alibaba.com >
Signed-off-by: Yang Li <yang.lee@linux.alibaba.com >
Reviewed-by: Nathan Chancellor <nathan@kernel.org >
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Link: https://lore.kernel.org/r/1623222893-123227-1-git-send-email-yang.lee@linux.alibaba.com
Signed-off-by: Vinod Koul <vkoul@kernel.org >
2021-06-16 16:12:59 +05:30
Laurent Pinchart
4fbf41ce57
dmaengine: xilinx: dpdma: Print debug message when losing vsync race
...
The hardware retrigger is inherently racy with the vsync interrupt. This
isn't an issue as the hardware provides a way to detect a race loss and
handle it correctly. When debugging issues related to this, it's useful
to get a notification of the race loss. Add a debug message to do so.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Tested-by: Jianqiang Chen <jianqiang.chen@xilinx.com >
Reviewed-by: Jianqiang Chen <jianqiang.chen@xilinx.com >
Link: https://lore.kernel.org/r/20210520152420.23986-4-laurent.pinchart@ideasonboard.com
Signed-off-by: Vinod Koul <vkoul@kernel.org >
2021-05-31 09:37:39 +05:30
Laurent Pinchart
3021190192
dmaengine: xilinx: dpdma: Print channel number in kernel log messages
...
To ease debugging, add the channel number to all kernel log messages
related to a particular channel.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Tested-by: Jianqiang Chen <jianqiang.chen@xilinx.com >
Reviewed-by: Jianqiang Chen <jianqiang.chen@xilinx.com >
Link: https://lore.kernel.org/r/20210520152420.23986-3-laurent.pinchart@ideasonboard.com
Signed-off-by: Vinod Koul <vkoul@kernel.org >
2021-05-31 09:37:39 +05:30
Laurent Pinchart
868833fbff
dmaengine: xilinx: dpdma: Fix race condition in done IRQ
...
The active descriptor pointer is accessed from different contexts,
including different interrupt handlers, and its access must be protected
by the channel's lock. This wasn't done in the done IRQ handler. Fix it.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Link: https://lore.kernel.org/r/20210307040629.29308-3-laurent.pinchart@ideasonboard.com
Signed-off-by: Vinod Koul <vkoul@kernel.org >
2021-03-16 16:15:06 +05:30
Laurent Pinchart
1cbd446662
dmaengine: xilinx: dpdma: Fix descriptor issuing on video group
...
When multiple channels are part of a video group, the transfer is
triggered only when all channels in the group are ready. The logic to do
so is incorrect, as it causes the descriptors for all channels but the
last one in a group to not being pushed to the hardware. Fix it.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Link: https://lore.kernel.org/r/20210307040629.29308-2-laurent.pinchart@ideasonboard.com
Signed-off-by: Vinod Koul <vkoul@kernel.org >
2021-03-16 16:15:06 +05:30
Allen Pais
b1839e7c2a
dmaengine: xilinx: dpdma: convert tasklets to use new tasklet_setup() API
...
In preparation for unconditionally passing the
struct tasklet_struct pointer to all tasklet
callbacks, switch to using the new tasklet_setup()
and from_tasklet() to pass the tasklet pointer explicitly.
Signed-off-by: Romain Perier <romain.perier@gmail.com >
Signed-off-by: Allen Pais <apais@linux.microsoft.com >
Link: https://lore.kernel.org/r/20201006050458.221329-2-allen.lkml@gmail.com
Signed-off-by: Vinod Koul <vkoul@kernel.org >
2020-10-07 15:22:09 +05:30
Wei Yongjun
144ceb27d7
dmaengine: xilinx: dpdma: Make symbol 'dpdma_debugfs_reqs' static
...
The sparse tool complains as follows:
drivers/dma/xilinx/xilinx_dpdma.c:349:37: warning:
symbol 'dpdma_debugfs_reqs' was not declared. Should it be static?
This variable is not used outside of xilinx_dpdma.c, so this commit
marks it static.
Fixes: 1d220435ca ("dmaengine: xilinx: dpdma: Add debugfs support")
Reported-by: Hulk Robot <hulkci@huawei.com >
Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com >
Reviewed-by: Hyun Kwon <hyun.kwon@xilinx.com >
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Link: https://lore.kernel.org/r/20200818112217.43816-1-weiyongjun1@huawei.com
Signed-off-by: Vinod Koul <vkoul@kernel.org >
2020-08-19 09:54:38 +05:30
Laurent Pinchart
1d220435ca
dmaengine: xilinx: dpdma: Add debugfs support
...
Expose statistics to debugfs when available. This helps debugging issues
with the DPDMA driver.
Signed-off-by: Hyun Kwon <hyun.kwon@xilinx.com >
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Link: https://lore.kernel.org/r/20200812171228.9751-1-laurent.pinchart@ideasonboard.com
Signed-off-by: Vinod Koul <vkoul@kernel.org >
2020-08-17 11:20:49 +05:30
Laurent Pinchart
bc227385eb
dmaengine: xilinx: dpdma: Fix kerneldoc warning
...
Document the struct xilinx_dpdma_chan desc field to fix a kerneldoc
undocumented member warning (which can be reproduced by compiling with
W=1).
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Link: https://lore.kernel.org/r/20200722161747.30048-1-laurent.pinchart@ideasonboard.com
Signed-off-by: Vinod Koul <vkoul@kernel.org >
2020-07-22 22:01:13 +05:30
Vinod Koul
ea55b6a349
dmaengine: xilinx: dpdma: add missing kernel doc
...
xilinx_dpdma_sw_desc_set_dma_addrs() documentation is missing describing
'xdev', so add it
drivers/dma/xilinx/xilinx_dpdma.c:313: warning: Function parameter or
member 'xdev' not described in 'xilinx_dpdma_sw_desc_set_dma_addrs'
Link: https://lore.kernel.org/r/20200718135201.191881-2-vkoul@kernel.org
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Signed-off-by: Vinod Koul <vkoul@kernel.org >
2020-07-22 22:00:51 +05:30
Vinod Koul
1c1df90871
dmaengine: xilinx: dpdma: remove comparison of unsigned expression
...
xilinx_dpdma_config() channel id is unsigned int and compares with
ZYNQMP_DPDMA_VIDEO0 which is zero, so remove this comparison
drivers/dma/xilinx/xilinx_dpdma.c:1073:15: warning: comparison of
unsigned expression in ‘>= 0’ is always true [-Wtype-limits] if
(chan->id >= ZYNQMP_DPDMA_VIDEO0 && chan->id <= ZYNQMP_DPDMA_VIDEO2)
Link: https://lore.kernel.org/r/20200718135201.191881-1-vkoul@kernel.org
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Signed-off-by: Vinod Koul <vkoul@kernel.org >
2020-07-22 22:00:19 +05:30
Hyun Kwon
7cbb0c63de
dmaengine: xilinx: dpdma: Add the Xilinx DisplayPort DMA engine driver
...
The ZynqMP DisplayPort subsystem includes a DMA engine called DPDMA with
6 DMa channels (4 for display and 2 for audio). This driver exposes the
DPDMA through the dmaengine API, to be used by audio (ALSA) and display
(DRM) drivers for the DisplayPort subsystem.
Signed-off-by: Hyun Kwon <hyun.kwon@xilinx.com >
Signed-off-by: Tejas Upadhyay <tejasu@xilinx.com >
Signed-off-by: Michal Simek <michal.simek@xilinx.com >
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Link: https://lore.kernel.org/r/20200717013337.24122-4-laurent.pinchart@ideasonboard.com
Signed-off-by: Vinod Koul <vkoul@kernel.org >
2020-07-17 11:37:59 +05:30