2018-03-13 1:18 GMT+09:00 Hugues FRUCHET <hugues.fruchet@xxxxxx>: > Hi Akinobu, > > Thanks for the patch, could you describe the test you made to reproduce > the issue that I can test on my side ? > > I'm using usually yavta or Gstreamer, but I don't know how to trig the > power on/off independently of streamon/off. Capturing a single image by yavta and gstreamer can reproduce this issue in my environment. I use Xilinx Video IP driver for video device with the following change in order to support pipeline power management. https://patchwork.linuxtv.org/patch/46343/ With this change, when opening the video device, s_power() is called with on=1 for subdevice. I observed the following steps when capturing a single image by 'yavta -n1 -c1 -Ftest.raw /dev/video1'. (The output pixel format is already set up by media-ctl before this run) 1. open /dev/video1 2. ov5640_s_power() is called with on=1 (ov5640_s_power -> ov5640_set_power -> ov5640_restore_mode -> ov5640_set_mode, and pending_mode_change is cleared) 3. ov5640_s_stream() is called with on=1 (But ov5640_set_framefmt() is not called because pending_mode_change has already been cleared in step 2.) As ov5640_set_framefmt() is not called, output pixel format cannot be restored (OV5640_REG_FORMAT_CONTROL00 and OV5640_REG_ISP_FORMAT_MUX_CTRL).