Sylwester Nawrocki wrote:
> Hi Sakari,
> 
> On 10/23/2011 10:07 AM, Sakari Ailus wrote:
>> Sylwester Nawrocki wrote:
>> ...
>>>> I understand what you're saying, but can you give us a specific example,
>>>> when a subdev driver (your SoC internal subdev, that is) doesn't have a
>>>> way to react to an event itself and only the bridge driver gets called
>>>> into at that time? Something like an interrupt or an internal timer or
>>>> some other internal event?
>>>
>>> 1. The S5P SoC video output subsystem (http://lwn.net/Articles/449661) 
>>> comprises
>>>   of multiple logical blocks, like Video Processor, Mixer, HDMI, HDMI PHY, 
>>> SD TV Out.
>>>   For instance the master video clock is during normal operation derived 
>>> from
>>>   (synchronized to, with PLL,) the HDMI-PHY output clock. The host driver 
>>> can
>>>   switch to this clock only when the HDMI-PHY (subdev) power and clocks are 
>>> enabled.
>>>   And it should be done before .s_stream(), to do some H/W configuration 
>>> earlier
>>>   in the pipeline, before streaming is enabled. Perhaps Tomasz could give 
>>> some
>>>   further explanation of what the s_power() op does and why in the driver.
>>>
>>> 2. In some of our camera pipeline setups - "Sensor - MIPI-CSI receiver - 
>>> host/DMA",
>>>   the sensor won't boot properly if all MIPI-CSI regulators aren't enabled. 
>>> So the
>>>   MIPI-CSI receiver must always be powered on before the sensor. With the 
>>> subdevs
>>>   doing their own magic wrt to power control the situation is getting 
>>> slightly
>>>   out of control.
>>
>> How about this: CSI-2 receiver implements a few new regulators which the
>> sensor driver then requests to be enabled. Would that work for you?
> 
> No, I don't like that... :)
> 
> We would have to standardize the regulator supply names, etc. Such approach
> would be more difficult to align with runtime/system suspend/resume.
> Also the sensor drivers should be independent on other drivers. The MIPI-CSI
> receiver is more specific to the host, rather than a sensor.
> 
> Not all sensors need MIPI-CSI, some just use parallel video bus.

The sensor drivers are responsible for the regulators they want to use,
right? If they need no CSI-2 related regulators then they just ignore
them as any other regulators the sensor doesn't need.

The names of the regulators could come from the platform data, they're
board specific anyway. I can't see another way to do this without having
platform code to do this which is not quite compatible with the idea of
the device tree.

-- 
Sakari Ailus
sakari.ai...@iki.fi
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to