Add binding documentation for Allwinner V3s CSI.
Acked-by: Maxime Ripard
Acked-by: Sakari Ailus
Reviewed-by: Rob Herring
Signed-off-by: Yong Deng
---
.../devicetree/bindings/media/sun6i-csi.txt| 59 ++
1 file changed, 59 insertions(+)
create mode 100644 Documentat
This patchset add initial support for Allwinner V3s CSI.
Allwinner V3s SoC features two CSI module. CSI0 is used for MIPI CSI-2
interface and CSI1 is used for parallel interface. This is not
documented in datasheet but by test and guess.
This patchset implement a v4l2 framework driver and add a b
Hi Jan,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on linuxtv-media/master]
[also build test WARNING on v4.17-rc3 next-20180503]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system]
url:
https://github.com
From: Fengguang Wu
drivers/staging/media/imx/imx-media-csi.c:443:3-4: Unneeded semicolon
Remove unneeded semicolon.
Generated by: scripts/coccinelle/misc/semicolon.cocci
Fixes: ad2cc62e77ef ("media: imx: add support for RGB565_2X8 on parallel bus")
CC: Jan Luebbe
Signed-off-by: Fengguang Wu
Hi Brad,
On 03/05/18 23:20, Brad Love wrote:
> Included in this patch set is:
> - Bugfix for a device not working
> - Some clean up and value corrections
> - Conversion to new dvb i2c helpers
> - Update of device from old dvb attach to i2c device
> - Dependency fixes
> - Style fixes
>
> Changes s
Hi Brad,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on linuxtv-media/master]
[also build test WARNING on v4.17-rc3 next-20180503]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system]
url:
https://github.com
Hi Jan,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on linuxtv-media/master]
[also build test WARNING on v4.17-rc3 next-20180503]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system]
url:
https://github.com
This message is generated daily by a cron job that builds media_tree for
the kernels and architectures in the list below.
Results of the daily build of media_tree:
date: Fri May 4 05:00:12 CEST 2018
media-tree git hash:a2b2eff6ac2716f499defa590a6ec4ba379d765e
media_build gi
Acked-by: Brad Love
On 2018-04-24 08:19, Luc Van Oostenryck wrote:
> The method dvb_frontend_ops::search() is defined as
> returning an 'enum dvbfe_search', but the implementation in this
> driver returns an 'int'.
>
> Fix this by returning 'enum dvbfe_search' in this driver too.
>
> Signed-off
Hi Maxime,
On Thu, 3 May 2018 19:14:10 +0200
Maxime Ripard wrote:
> Hi Yong,
>
> On Tue, Mar 06, 2018 at 09:51:10AM +0800, Yong Deng wrote:
> > This patchset add initial support for Allwinner V3s CSI.
> >
> > Allwinner V3s SoC features two CSI module. CSI0 is used for MIPI CSI-2
> > interface
On 3 May 2018 at 23:45, Daniel Vetter wrote:
> On Thu, May 3, 2018 at 2:06 PM, Laurent Pinchart
> wrote:
>> Hi Dave,
>>
>> Ping ?
>
> Not aware of any crc core work going on in drm, so has my ack. Worst
> case we do a topic branch or something like that (since I guess you'll
> do a pull request a
On Thu, May 3, 2018 at 8:56 AM, Sakari Ailus wrote:
> On Wed, Apr 25, 2018 at 11:30:10PM +0200, Arnd Bergmann wrote:
>> @@ -165,7 +167,14 @@ struct omap3isp_h3a_aewb_config {
>> * @config_counter: Number of the configuration associated with the data.
>> */
>> struct omap3isp_stat_data {
>> +#
Hauppauge 935C cannot communicate with the si2157
when using the mux adapter returned by the si2168,
so disable it to fix the device.
Signed-off-by: Brad Love
---
drivers/media/usb/cx231xx/cx231xx-dvb.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/media/usb/cx231xx
Replace all usage of hard coded values with
the proper field from the board profile.
Signed-off-by: Brad Love
---
drivers/media/usb/cx231xx/cx231xx-dvb.c | 19 +--
1 file changed, 9 insertions(+), 10 deletions(-)
diff --git a/drivers/media/usb/cx231xx/cx231xx-dvb.c
b/drivers/me
Replace zero fill memset inits with
equivalent {} in declaration
Signed-off-by: Brad Love
---
drivers/media/usb/cx231xx/cx231xx-dvb.c | 12
1 file changed, 4 insertions(+), 8 deletions(-)
diff --git a/drivers/media/usb/cx231xx/cx231xx-dvb.c
b/drivers/media/usb/cx231xx/cx231xx-dvb.
Trim out some unused config params. Use the i2c mux
adapter returned by frontend with the tuner.
Signed-off-by: Brad Love
---
Changes since v1:
- Deleted one comment and removed 'tuner' from other
drivers/media/usb/cx231xx/cx231xx-dvb.c | 21 +++--
1 file changed, 11 insertions(
cx231xx requires i2c mux adapter capability.
Signed-off-by: Brad Love
---
drivers/media/usb/cx231xx/Kconfig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/media/usb/cx231xx/Kconfig
b/drivers/media/usb/cx231xx/Kconfig
index 8a6acc2..98890a3 100644
--- a/drivers/media
Mostly very straight forward replace of blocks with equivalent code.
Cleanup added at end of dvb_init in case of failure.
Signed-off-by: Brad Love
---
Changes since v1:
- Un-necessary NULL checks removed
- Pointers NULL'd after release
- 'tuner' removed from probe/init/attach comments
drivers/
VIDEO_CX231XX_RC requires RC_CORE, but VIDEO_CX231XX
does not require RC to compile or function.
Signed-off-by: Brad Love
---
drivers/media/usb/cx231xx/Kconfig | 1 -
1 file changed, 1 deletion(-)
diff --git a/drivers/media/usb/cx231xx/Kconfig
b/drivers/media/usb/cx231xx/Kconfig
index 6276d9b.
Now the board values match the hard coded
constants used in the dvb initialization.
Signed-off-by: Brad Love
---
drivers/media/usb/cx231xx/cx231xx-cards.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/media/usb/cx231xx/cx231xx-cards.c
b/drivers/media/usb/cx23
The default is now 0, no need to override
Signed-off-by: Brad Love
---
Changes since v1:
- regen
drivers/media/usb/cx231xx/cx231xx-dvb.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/drivers/media/usb/cx231xx/cx231xx-dvb.c
b/drivers/media/usb/cx231xx/cx231xx-dvb.c
index 669c154..2d27e96 1
Included in this patch set is:
- Bugfix for a device not working
- Some clean up and value corrections
- Conversion to new dvb i2c helpers
- Update of device from old dvb attach to i2c device
- Dependency fixes
- Style fixes
Changes since v1:
- Style fixes in i2c helper patch
- Some comment cleanu
Hi Akinobu,
let me see if I got this right...
On Mon, Apr 30, 2018 at 02:13:11AM +0900, Akinobu Mita wrote:
> The set_fmt() in subdev pad ops, the s_ctrl() for subdev control handler,
> and the s_frame_interval() in subdev video ops could be called when the
> device is under power saving mode.
Hi Akinobu,
thank you for the patch
On Mon, Apr 30, 2018 at 02:13:09AM +0900, Akinobu Mita wrote:
> This splits the s_frame_interval() in subdev video ops into selecting the
> frame interval and setting up the registers.
>
> This is a preparatory change to avoid accessing registers under power
Akinobu,
a very minor thing, please consider this only if you have to
resend.
On Mon, Apr 30, 2018 at 02:13:07AM +0900, Akinobu Mita wrote:
> The ov772x driver currently only supports legacy platform data probe.
> This change enables device tree probing.
>
> Note that the platform data probe c
During destruction, a race condition in
dvb_media_controller_disable_source() can cause a kernel crash,
because the "mdev" pointer has been read successfully while another
task executes dvb_usb_media_device_unregister(), which destroys the
object. Example for such a crash:
general protection
Hi Yong,
On Tue, Mar 06, 2018 at 09:51:10AM +0800, Yong Deng wrote:
> This patchset add initial support for Allwinner V3s CSI.
>
> Allwinner V3s SoC features two CSI module. CSI0 is used for MIPI CSI-2
> interface and CSI1 is used for parallel interface. This is not
> documented in datasheet but
The IPU can only capture RGB565 with two 8-bit cycles in bayer/generic
mode on the parallel bus, compared to a specific mode on MIPI CSI-2.
To handle this, we extend imx_media_pixfmt with a cycles per pixel
field, which is used for generic formats on the parallel bus.
Before actually adding RGB565
The IPU can only capture RGB565 with two 8-bit cycles in bayer/generic
mode on the parallel bus, compared to a specific mode on MIPI CSI-2.
To handle this, we extend imx_media_pixfmt with a cycles per pixel
field, which is used for generic formats on the parallel bus.
Based on the selected format
By checking and handling the internal IPU formats (ARGB or AYUV) first,
we don't need to check whether it's a bayer format, as we can default to
passing the input format on in all other cases.
This simplifies handling the different configurations for RGB565 between
parallel and MIPI CSI-2, as we d
On Thu, 2018-05-03 at 18:32 +0200, Jan Luebbe wrote:
> A burst_size of 4 does not work for the 16 bit passthrough formats, so
> we use 8 instead.
>
> Signed-off-by: Jan Luebbe
> ---
> drivers/staging/media/imx/imx-media-csi.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --gi
A burst_size of 4 does not work for the 16 bit passthrough formats, so
we use 8 instead.
Signed-off-by: Jan Luebbe
---
drivers/staging/media/imx/imx-media-csi.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/staging/media/imx/imx-media-csi.c
b/drivers/staging/media/
Hi Matthias,
On 2018-04-23 12:50, Brad Love wrote:
> Hi Matthias,
>
>
>
> On 2018-04-19 12:10, Matthias Schwarzott wrote:
>> Am 17.04.2018 um 18:39 schrieb Brad Love:
>>> Replace all usage of hard coded values with
>>> the proper field from the board profile.
>>>
>> Hi Brad,
>>
>> will there be a
Quoting Daniel Vetter (2018-05-03 15:25:50)
> @@ -560,7 +567,7 @@ dma_fence_init(struct dma_fence *fence, const struct
> dma_fence_ops *ops,
>spinlock_t *lock, u64 context, unsigned seqno)
> {
> BUG_ON(!lock);
> - BUG_ON(!ops || !ops->wait || !ops->enable_signaling |
Hi Akinobu,
On Mon, Apr 30, 2018 at 02:13:02AM +0900, Akinobu Mita wrote:
> The ov772x driver only works when the i2c controller have
> I2C_FUNC_PROTOCOL_MANGLING. However, many i2c controller drivers don't
> support it.
>
> The reason that the ov772x requires I2C_FUNC_PROTOCOL_MANGLING is that
>
Hi Akinobu,
thanks for the patch
On Mon, Apr 30, 2018 at 02:13:01AM +0900, Akinobu Mita wrote:
> The banding filter ON/OFF is controlled via bit 5 of COM8 register. It
> is attempted to be enabled in ov772x_set_params() by the following line.
>
> ret = ov772x_mask_set(client, COM8, BNDF_
Hi Sebastian,
On Thu, May 03, 2018 at 05:26:59PM +0200, Sebastian Reichel wrote:
> Hi,
>
> On Thu, May 03, 2018 at 12:31:14AM +0300, Sakari Ailus wrote:
> > Camera sensors are occasionally mounted upside down. In order to use such
> > a sensor without having to turn every image upside down separa
Hi,
On Thu, May 03, 2018 at 12:31:14AM +0300, Sakari Ailus wrote:
> Camera sensors are occasionally mounted upside down. In order to use such
> a sensor without having to turn every image upside down separately, most
> camera sensors support reversing the readout order by setting both
> horizontal
On 03/05/18 17:13, Maxime Ripard wrote:
> Hi!
>
> Thanks for your review,
>
> On Thu, May 03, 2018 at 12:54:57PM +0200, Hans Verkuil wrote:
>>> +static int csi2rx_stop(struct csi2rx_priv *csi2rx)
>>> +{
>>> + unsigned int i;
>>> +
>>> + clk_prepare_enable(csi2rx->p_clk);
>>> + clk_disable_u
Hi,
On Wed, May 02, 2018 at 11:11:55AM -0700, Sam Bobrowicz wrote:
> > On Wednesday, 25 April 2018 01:11:19 EEST Sam Bobrowicz wrote:
> >> FYI, still hard at work on this. Did some more experiments last week
> >> that seemed to corroborate the clock tree in the spreadsheet. It also
> >> seems that
Hi!
Thanks for your review,
On Thu, May 03, 2018 at 12:54:57PM +0200, Hans Verkuil wrote:
> > +static int csi2rx_stop(struct csi2rx_priv *csi2rx)
> > +{
> > + unsigned int i;
> > +
> > + clk_prepare_enable(csi2rx->p_clk);
> > + clk_disable_unprepare(csi2rx->sys_clk);
> > +
> > + for (i =
Since commit 50b0f0aee839 ("gpu: ipu-csi: add 10/12-bit grayscale
support to mbus_code_to_bus_cfg") the IPU CSI can be configured to
capture 10-bit and 12-bit grayscale formats, expanded to 16-bit
grayscale, in bayer/generic data mode.
This patch adds support for V4L2_PIX_FMT_Y16 captured from sens
From: Hans Verkuil
Add a new helper function to tell if a request object is a buffer.
Add a new helper function that returns true if a media_request
contains at least one buffer.
Signed-off-by: Hans Verkuil
---
drivers/media/common/videobuf2/videobuf2-core.c | 17 +
include/me
From: Hans Verkuil
Add support for requests to vivid.
Signed-off-by: Hans Verkuil
---
drivers/media/platform/vivid/vivid-core.c| 8
drivers/media/platform/vivid/vivid-kthread-cap.c | 12
drivers/media/platform/vivid/vivid-kthread-out.c | 12
drivers/
From: Hans Verkuil
When queuing buffers allow for passing the request that should
be associated with this buffer.
If V4L2_BUF_FLAG_REQUEST_FD is set, then request_fd is used as
the file descriptor.
If a buffer is stored in a request, but not yet queued to the
driver, then V4L2_BUF_FLAG_IN_REQUE
From: Hans Verkuil
The next patch needs the reference to a control instead of the
control itself, so change struct v4l2_ctrl_helper accordingly.
Signed-off-by: Hans Verkuil
---
drivers/media/v4l2-core/v4l2-ctrls.c | 18 +-
1 file changed, 9 insertions(+), 9 deletions(-)
diff -
From: Hans Verkuil
Keep track of the number of requests and request objects of a media
device. Helps to verify that all request-related memory is freed.
Signed-off-by: Hans Verkuil
---
drivers/media/media-device.c | 41 +++
drivers/media/media-devnode.c | 17 ++
From: Hans Verkuil
Make vb2_buffer a request object.
Signed-off-by: Hans Verkuil
---
include/media/videobuf2-core.h | 3 +++
1 file changed, 3 insertions(+)
diff --git a/include/media/videobuf2-core.h b/include/media/videobuf2-core.h
index 224c4820a044..3d54654c3cd4 100644
--- a/include/media
From: Hans Verkuil
The mdev field is only present if CONFIG_MEDIA_CONTROLLER is set.
But since we will need to pass the media_device to vb2 and the
control framework it is very convenient to just make this field
available all the time. If CONFIG_MEDIA_CONTROLLER is not set,
then it will just be N
From: Hans Verkuil
The userspace-provided plane data needs to be stored in
vb2_v4l2_buffer. Currently this information is applied by
__fill_vb2_buffer() which is called by the core prepare_buf
and qbuf functions, but when using requests these functions
aren't called yet since the buffer won't be
From: Hans Verkuil
The v4l2_g/s_ext_ctrls functions now support control handlers that
represent requests.
The v4l2_ctrls_find_req_obj() function is responsible for finding the
request from the fd.
Signed-off-by: Hans Verkuil
---
drivers/media/platform/omap3isp/ispvideo.c | 2 +-
drivers/med
From: Hans Verkuil
Add a 'bool from_other_dev' argument: set to true if the two
handlers refer to different devices (e.g. it is true when
inheriting controls from a subdev into a main v4l2 bridge
driver).
This will be used later when implementing support for the
request API since we need to skip
From: Hans Verkuil
Integrate the request support. This adds the v4l2_ctrl_request_complete
and v4l2_ctrl_request_setup functions to complete a request and (as a
helper function) to apply a request to the hardware.
It takes care of queuing requests and correctly chaining control values
in the req
From: Hans Verkuil
To store request data the handler_new_ref() allocates memory
for it if needed.
Signed-off-by: Hans Verkuil
---
drivers/media/v4l2-core/v4l2-ctrls.c | 20
1 file changed, 16 insertions(+), 4 deletions(-)
diff --git a/drivers/media/v4l2-core/v4l2-ctrls.c
From: Hans Verkuil
This implements the V4L2 part of the request support. The main
change is that vb2_qbuf and vb2_prepare_buf now have a new
media_device pointer. This required changes to several drivers
that did not use the vb2_ioctl_qbuf/prepare_buf helper functions.
Signed-off-by: Hans Verkui
From: Hans Verkuil
The generic vb2_request_validate helper function checks if
there are buffers in the request and if so, prepares (validates)
all objects in the request.
The generic vb2_request_queue helper function queues all buffer
objects in the validated request.
Signed-off-by: Hans Verkui
From: Hans Verkuil
Request API requires a media node. Add one to the vim2m driver so we can
use requests with it.
This probably needs a bit more work to correctly represent m2m
hardware in the media topology.
Signed-off-by: Hans Verkuil
---
drivers/media/platform/vim2m.c | 42
From: Hans Verkuil
Add support for the media_device to vivid. This is a prerequisite
for request support.
Signed-off-by: Hans Verkuil
---
drivers/media/platform/vivid/vivid-core.c | 61 +++
drivers/media/platform/vivid/vivid-core.h | 8 +++
2 files changed, 69 insertions(+
From: Hans Verkuil
Add support for requests to vim2m.
Signed-off-by: Hans Verkuil
---
drivers/media/platform/vim2m.c | 34 ++
1 file changed, 34 insertions(+)
diff --git a/drivers/media/platform/vim2m.c b/drivers/media/platform/vim2m.c
index a1b0bb08668d..7c86c
From: Hans Verkuil
For mem2mem devices we have to make sure that v4l2_m2m_try_schedule()
is called whenever a request is queued.
We do that by creating a vb2_m2m_request_queue() helper that should
be used instead of the 'normal' vb2_request_queue() helper. The m2m
helper function will call v4l2_
From: Hans Verkuil
v4l2_ctrl uses mutexes, so we can't setup a ctrl_handler in
interrupt context. Switch to a workqueue instead.
Signed-off-by: Hans Verkuil
---
drivers/media/platform/vim2m.c | 15 +--
1 file changed, 13 insertions(+), 2 deletions(-)
diff --git a/drivers/media/pla
From: Alexandre Courbot
Document the request API for V4L2 devices, and amend the documentation
of system calls influenced by it.
Signed-off-by: Alexandre Courbot
Signed-off-by: Hans Verkuil
---
.../media/uapi/mediactl/media-funcs.rst | 3 +
.../uapi/mediactl/media-ioc-request-alloc.rs
From: Hans Verkuil
Buffers can now be prepared or queued for a request.
A buffer is unbound from the request at vb2_buffer_done time or
when the queue is cancelled.
Signed-off-by: Hans Verkuil
---
.../media/common/videobuf2/videobuf2-core.c | 124 --
.../media/common/videobu
From: Hans Verkuil
We need to serialize streamon/off with queueing new requests.
These ioctls may trigger the cancellation of a streaming
operation, and that should not be mixed with queuing a new
request at the same time.
Also TRY/S_EXT_CTRLS needs this lock to correctly serialize
with MEDIA_RE
From: Alexandre Courbot
If 'which' is V4L2_CTRL_WHICH_REQUEST_VAL, then the 'request_fd' field
can be used to specify a request for the G/S/TRY_EXT_CTRLS ioctls.
Signed-off-by: Alexandre Courbot
Signed-off-by: Hans Verkuil
---
drivers/media/v4l2-core/v4l2-compat-ioctl32.c | 5 -
drivers/m
From: Hans Verkuil
Add media_request_object_find to find a request object inside a
request based on ops and/or priv values.
Objects of the same type (vb2 buffer, control handler) will have
the same ops value. And objects that refer to the same 'parent'
object (e.g. the v4l2_ctrl_handler that has
From: Hans Verkuil
Embed and initialize a media_request_object in struct v4l2_ctrl_handler.
Add a p_req field to struct v4l2_ctrl_ref that will store the
request value.
Signed-off-by: Hans Verkuil
Signed-off-by: Alexandre Courbot
---
drivers/media/v4l2-core/v4l2-ctrls.c | 1 +
include/media/
From: Hans Verkuil
Define the public request API.
This adds the new MEDIA_IOC_REQUEST_ALLOC ioctl to allocate a request
and two ioctls that operate on a request in order to queue the
contents of the request to the driver and to re-initialize the
request.
Signed-off-by: Hans Verkuil
---
includ
From: Hans Verkuil
Add initial media request support:
1) Add MEDIA_IOC_REQUEST_ALLOC ioctl support to media-device.c
2) Add struct media_request to store request objects.
3) Add struct media_request_object to represent a request object.
4) Add MEDIA_REQUEST_IOC_QUEUE/REINIT ioctl support.
Basic
From: Hans Verkuil
Add media_request_get_by_fd() to find a request based on the file
descriptor.
The caller has to call media_request_put() for the returned
request since this function increments the refcount.
Signed-off-by: Hans Verkuil
---
drivers/media/media-request.c | 32
From: Hans Verkuil
Hi all,
This is version 13 of the Request API series.
The main changes compared to v12 are:
- Replaced media_request_cancel with a new vb2 op buf_request_complete
- No longer allow adding a prepared buffer to a request (see TODO below)
- Updated and reviewed the documentatio
Hi Fabio,
On Thu, Apr 19, 2018 at 7:08 PM, Fabio Estevam wrote:
> On Thu, Apr 19, 2018 at 1:55 PM, Ibtsam Ul-Haq
> wrote:
>
>> I can see by using a logic analyzer that the PIXCLK does not look
>> nice. It looks similar to the issue mentioned here:
>> https://community.nxp.com/thread/454467
>>
>>
This issue was reported by a user who downloaded a corrupt saa7164
firmware, then went looking for a valid xc5000 firmware to fix the
error displayed...but the device in question has no xc5000, thus after
much effort, the wild goose chase eventually led to a support call.
The xc5000 has nothing to
Almost everyone uses dma_fence_default_wait.
v2: Also remove the BUG_ON(!ops->wait) (Chris).
Reviewed-by: Christian König (v1)
Signed-off-by: Daniel Vetter
Cc: Chris Wilson
Cc: Sumit Semwal
Cc: Gustavo Padovan
Cc: linux-media@vger.kernel.org
Cc: linaro-mm-...@lists.linaro.org
---
drivers/dm
When this was introduced in
commit a519435a96597d8cd96123246fea4ae5a6c90b02
Author: Christian König
Date: Tue Oct 20 16:34:16 2015 +0200
dma-buf/fence: add fence_wait_any_timeout function v2
there was a restriction added that this only works if the dma-fence
uses the dma_fence_default_wai
- Intro section that links to how this is exposed to userspace.
- Lots more hyperlinks.
- Minor clarifications and style polish
Signed-off-by: Daniel Vetter
Cc: Sumit Semwal
Cc: Gustavo Padovan
Cc: linux-media@vger.kernel.org
Cc: linaro-mm-...@lists.linaro.org
---
Documentation/driver-api/dma-
Many drivers have a trivial implementation for ->enable_signaling.
Let's make it optional by assuming that signalling is already
available when the callback isn't present.
Reviewed-by: Christian König
Signed-off-by: Daniel Vetter
Cc: Sumit Semwal
Cc: Gustavo Padovan
Cc: linux-media@vger.kernel
On Thu, May 03, 2018 at 02:47:10PM +0200, Hans Verkuil wrote:
> Fix this warning when building the docs:
>
> include/media/v4l2-dev.h:42: warning: Enum value 'VFL_TYPE_MAX' not described
> in enum 'vfl_devnode_type'
>
> Signed-off-by: Hans Verkuil
Acked-by: Sakari Ailus
--
Sakari Ailus
e-ma
On Thu, May 3, 2018 at 2:06 PM, Laurent Pinchart
wrote:
> Hi Dave,
>
> Ping ?
Not aware of any crc core work going on in drm, so has my ack. Worst
case we do a topic branch or something like that (since I guess you'll
do a pull request anyway on the v4l side). Acked-by: me.
-Daniel
>
> On Saturd
Hi Laurent,
On 03/05/18 12:13, Laurent Pinchart wrote:
> Hi Kieran,
>>> + } else {
>>> + vsp1_rpf_write(rpf, dlb, VI6_RPF_SRCM_ADDR_Y, mem.addr[0]);
>>> + vsp1_rpf_write(rpf, dlb, VI6_RPF_SRCM_ADDR_C0, mem.addr[1]);
>>> + vsp1_rpf_write(rpf, dlb, VI6_RPF_SRCM_ADD
The VSP1 devices define their specific capabilities through features
marked in their device info structure. Various parts of the code read
this info structure to infer if the features are available.
Wrap this into a more readable vsp1_feature(vsp1, f) macro to ensure
that usage is consistent throu
The vsp1 reference in the vsp1_dl_body structure is not used.
Remove it.
Signed-off-by: Kieran Bingham
---
drivers/media/platform/vsp1/vsp1_dl.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/drivers/media/platform/vsp1/vsp1_dl.c
b/drivers/media/platform/vsp1/vsp1_dl.c
index ec6fc21fabe0.
Both vsp1_dl_list_commit() and __vsp1_dl_list_put() walk the display
list chain referencing the nodes as children, when in reality they are
siblings.
Update the terminology to 'dl_next' to be consistent with the
vsp1_video_pipeline_run() usage.
Signed-off-by: Kieran Bingham
---
drivers/media/pl
The use of the packed attribute can cause a performance penalty for
all accesses to the struct members, as the compiler will assume that the
structure has the potential to have an unaligned base.
These structures are all correctly aligned and contain no holes, thus
the attribute is redundant and n
Calculate the top and bottom fields for the interlaced frames and
utilise the extended display list command feature to implement the
auto-field operations. This allows the DU to update the VSP2 registers
dynamically based upon the currently processing field.
Signed-off-by: Kieran Bingham
---
v3:
The Gen3 R-Car DU devices make use of the VSP to handle frame processing.
In this series we implement support for handling interlaced pipelines by using
the auto-fld feature of the VSP hardware.
The implementation is preceded by some cleanup work and refactoring, through
patches 1 to 6. These are
Header mode display lists are now supported on all WPF outputs. To
support extended headers and auto-fld capabilities for interlaced mode
handling only header mode display lists can be used.
Disable the headerless display list configuration, and remove the dead
code.
Signed-off-by: Kieran Bingham
Extended display list headers allow pre and post command lists to be
executed by the VSP pipeline. This provides the base support for
features such as AUTO_FLD (for interlaced support) and AUTO_DISP (for
supporting continuous camera preview pipelines.
Signed-off-by: Kieran Bingham
---
v2:
- re
VSPD and VSP-DL devices can provide extended display lists supporting
extended command display list objects.
These extended commands require their own dma memory areas for a header
and body specific to the command type.
Implement a command pool to allocate all necessary memory in a single
DMA all
The pixel format is 'unsupported'. Fix the small debug message which
incorrectly declares this.
Signed-off-by: Kieran Bingham
---
drivers/media/platform/vsp1/vsp1_drm.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/media/platform/vsp1/vsp1_drm.c
b/drivers/media/pla
If there is an error allocating a display list within a DLM object
the existing display lists are not free'd, and neither is the DL body
pool.
Use the existing vsp1_dlm_destroy() function to clean up on error.
Signed-off-by: Kieran Bingham
---
drivers/media/platform/vsp1/vsp1_dl.c | 4 +++-
1 f
Use the newly exposed VSP1 interface to enable interlaced frame support
through the VSP1 lif pipelines.
Signed-off-by: Kieran Bingham
---
drivers/gpu/drm/rcar-du/rcar_du_crtc.c | 1 +
drivers/gpu/drm/rcar-du/rcar_du_vsp.c | 3 +++
2 files changed, 4 insertions(+)
diff --git a/drivers/gpu/drm/r
We are now able to configure a pipeline directly into a local display
list body. Take advantage of this fact, and create a cacheable body to
store the configuration of the pipeline in the video object.
vsp1_video_pipeline_run() is now the last user of the pipe->dl object.
Convert this function to
Extend the display list body with a reference count, allowing bodies to
be kept as long as a reference is maintained. This provides the ability
to keep a cached copy of bodies which will not change, so that they can
be re-applied to multiple display lists.
Signed-off-by: Kieran Bingham
Reviewed-b
The body write function relies on the code never asking it to write more
than the entries available in the list.
Currently with each list body containing 256 entries, this is fine, but
we can reduce this number greatly saving memory. In preparation of this
add a level of protection to catch any bu
Currently the entities store their configurations into a display list.
Adapt this such that the code can be configured into a body directly,
allowing greater flexibility and control of the content.
All users of vsp1_dl_list_write() are removed in this process, thus it
too is removed.
A helper, vs
Each display list allocates a body to store register values in a dma
accessible buffer from a dma_alloc_wc() allocation. Each of these
results in an entry in the IOMMU TLB, and a large number of display list
allocations adds pressure to this resource.
Reduce TLB pressure on the IPMMUs by allocatin
The entities provide a single .configure operation which configures the
object into the target display list, based on the vsp1_entity_params
selection.
Split the configure function into three parts, '.configure_stream()',
'.configure_frame()', and '.configure_partition()' to facilitate
splitting t
Adapt the dl->body0 object to use an object from the body pool. This
greatly reduces the pressure on the TLB for IPMMU use cases, as all of
the lists use a single allocation for the main body.
The CLU and LUT objects pre-allocate a pool containing three bodies,
allowing a userspace update before t
Throughout the codebase, the term 'fragment' is used to represent a
display list body. This term duplicates the 'body' which is already in
use.
The datasheet references these objects as a body, therefore replace all
mentions of a fragment with a body, along with the corresponding
pluralised terms.
1 - 100 of 137 matches
Mail list logo