092e321a | 22-Feb-2023 |
Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se> |
media: i2c: adv748x: Report correct DV timings for pattern generator
If the pattern generator is enabled the device shall not be queried for timings. Instead the timings programmed shall be reported
media: i2c: adv748x: Report correct DV timings for pattern generator
If the pattern generator is enabled the device shall not be queried for timings. Instead the timings programmed shall be reported as they are the ones being used to generate the pattern.
Before this change an external HDMI source needed to be connected for the pattern generator to work. The driver would query this external HDMI source for timings and program the pattern generator using those.
With this change the user can control the timings and have the pattern generator work without the need of an external HDMI source being connected.
Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se> Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
show more ...
|
8a7bc891 | 22-Feb-2023 |
Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se> |
media: i2c: adv748x: Write initial DV timings to device
When initializing the HDMI block during probe an initial set of timings are selected. These timings are stored in the drivers private data, bu
media: i2c: adv748x: Write initial DV timings to device
When initializing the HDMI block during probe an initial set of timings are selected. These timings are stored in the drivers private data, but not written to the device.
This in itself is not bad, but in s_dv_timings() the timings stored in the drivers private data are compared to the new timings, if they match no action is taken. This creates the corner-case where the timing selected at initialization is the first timings a user want to use as the driver then never writes it to the device preventing proper operation.
Fix this by writing the timings to the device at initialization in addition to storing them in the drivers private data.
Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se> Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
show more ...
|
23ddb85d | 09-Oct-2022 |
Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se> |
media: adv748x: afe: Select input port when initializing AFE
When moving the input selection to adv748x_reset() it was missed that during probe the device is reset _before_ the initialization and pa
media: adv748x: afe: Select input port when initializing AFE
When moving the input selection to adv748x_reset() it was missed that during probe the device is reset _before_ the initialization and parsing of DT by the AFE subdevice. This can lead to the wrong input port (in case it's not port 0) being selected until the device is reset for the first time.
Fix this by restoring the call to adv748x_afe_s_input() in the AFE initialization while also keeping it in the adv748x_reset().
Fixes: c30ed81afe89 ("media: adv748x: afe: Select input port when device is reset") Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se> Reviewed-by: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com> Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
show more ...
|
5e672766 | 22-Nov-2020 |
Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se> |
media: adv748x: Configure device when resuming from sleep
If the device is powered off (for example during system suspend to ram) the devices loses its configuration, especially the slave i2c mappin
media: adv748x: Configure device when resuming from sleep
If the device is powered off (for example during system suspend to ram) the devices loses its configuration, especially the slave i2c mappings and other configuration set at probe time. This renders the device unusable and the only way to recover is to unbind and rebind the device to the driver to run the probe setup again.
Add an early resume callback that reinitializes the device and setup the slave i2c address mappings and other probe time configuration.
Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se> Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
show more ...
|
42bff048 | 22-Nov-2020 |
Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se> |
media: adv748x: csi2: Set virtual channel when device is reset
It's not enough to set the CSI-2 virtual channel for TXA and TXB during probe: it also needs to be set when the device is reset. Move t
media: adv748x: csi2: Set virtual channel when device is reset
It's not enough to set the CSI-2 virtual channel for TXA and TXB during probe: it also needs to be set when the device is reset. Move the virtual channel selection to adv748x_reset() that is called during probe and when the device needs to be reset.
Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se> Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
show more ...
|
c30ed81a | 22-Nov-2020 |
Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se> |
media: adv748x: afe: Select input port when device is reset
It's not enough to select the AFE input port during probe: it also needs to be set when the device is reset. Move the port selection to ad
media: adv748x: afe: Select input port when device is reset
It's not enough to select the AFE input port during probe: it also needs to be set when the device is reset. Move the port selection to adv748x_reset() that is called during probe and when the device needs to be reset.
Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se> Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
show more ...
|
a61b1b5d | 17-Jul-2020 |
Jacopo Mondi <jacopo+renesas@jmondi.org> |
media: i2c: adv748x: Implement get_mbus_config
Implement the newly introduced get_mbus_config operation to report the number of currently used data lanes on the MIPI CSI-2 interface.
Reviewed-by: K
media: i2c: adv748x: Implement get_mbus_config
Implement the newly introduced get_mbus_config operation to report the number of currently used data lanes on the MIPI CSI-2 interface.
Reviewed-by: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com> Reviewed-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se> Signed-off-by: Jacopo Mondi <jacopo+renesas@jmondi.org> Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
show more ...
|
16597c27 | 15-Jan-2019 |
Kieran Bingham <kieran.bingham+renesas@ideasonboard.com> |
media: i2c: adv748x: Remove PAGE_WAIT
The ADV748X_PAGE_WAIT is a fake page to insert arbitrary delays in the register tables.
Its only usage was removed, so we can remove the handling and simplify
media: i2c: adv748x: Remove PAGE_WAIT
The ADV748X_PAGE_WAIT is a fake page to insert arbitrary delays in the register tables.
Its only usage was removed, so we can remove the handling and simplify the code.
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se> Signed-off-by: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com> Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
show more ...
|