Re: [PATCH 0/3] adv748x: Add support for s2ram

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Niklas,

On 22/11/2020 16:36, Niklas Söderlund wrote:
> Hello,
> 
> This series enables usage of the ADV748x after the system have been 
> suspended to ram. During s2ram the ADV748x may be powered down and thus 
> lose its configuration from probe time. The configuration contains  
> among other things the i2c slave address mappings for the different 
> blocks inside the ADV748x. If this is lost the hardware listens to the 
> "wrong" i2c addresses and becomes inaccessible.
> 
> Example trying to read the analog standard before and after s2ram with 
> and without this this series.
> 

Should we be considering runtime_pm for this instead?

--
Kieran


> Without this series,
> 
>   # subdev=$(grep -l "adv748x 4-0070 afe" /sys/class/video4linux/*/name | sed 's#.*video4linux\(.*\)/name#/dev\1#g')
>   # v4l2-ctl --get-detected-standard -d $subdev
>   Video Standard = 0x000000ff
>           PAL-B/B1/G/H/I/D/D1/K
>   # echo on > /sys/bus/i2c/drivers/bd9571mwv/*/bd9571mwv-regulator*/backup_mode
>   ** flipp SW23 off **
>   # echo mem > /sys/power/state
>   ** flipp SW23 on **
>   # v4l2-ctl --get-detected-standard -d $subdev
>   [  502.753723] adv748x 4-0070: error reading 63, 02
>   [  502.866437] adv748x 4-0070: error reading 63, 02
>   VIDIOC_QUERYSTD: failed: No such device or address
> 
> With this series,
> 
>   # subdev=$(grep -l "adv748x 4-0070 afe" /sys/class/video4linux/*/name | sed 's#.*video4linux\(.*\)/name#/dev\1#g')
>   # v4l2-ctl --get-detected-standard -d $subdev
>   Video Standard = 0x000000ff
>           PAL-B/B1/G/H/I/D/D1/K
>   # echo on > /sys/bus/i2c/drivers/bd9571mwv/*/bd9571mwv-regulator*/backup_mode
>   ** flipp SW23 off **
>   # echo mem > /sys/power/state
>   ** flipp SW23 on **
>   # v4l2-ctl --get-detected-standard -d $subdev
>   Video Standard = 0x000000ff
>           PAL-B/B1/G/H/I/D/D1/K
> 
> Also any streaming while the system is suspended to ram fails to resume 
> without this series due to the issue demonstrated above. This series is 
> tested on R-Car M3-N on-top of latest media-tree.
> 
> Niklas Söderlund (3):
>   adv748x: afe: Select input port when device is reset
>   adv748x: csi2: Set virtual channel when device is reset
>   adv748x: Configure device when resuming from sleep
> 
>  drivers/media/i2c/adv748x/adv748x-afe.c  |  6 +----
>  drivers/media/i2c/adv748x/adv748x-core.c | 29 ++++++++++++++++++++++--
>  drivers/media/i2c/adv748x/adv748x-csi2.c |  6 +----
>  drivers/media/i2c/adv748x/adv748x.h      |  2 ++
>  4 files changed, 31 insertions(+), 12 deletions(-)
> 




[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux