Hello Jouni, 

On Wed, 18 Jun 2008, Högander Jouni wrote:

> "ext Paul Walmsley" <[EMAIL PROTECTED]> writes:
> 
> > Major changes since the first version:
> >
> > 1. Jouni Hogander suggested that the set_max_cpu_lat() function be
> >    merged into set_max_dev_wakeup_lat(), when set_max_dev_wakeup_lat()
> >    is called with the CPU0 sys_device (via get_cpu_sysdev(0)).  He feels
> >    that this will be easier for device driver developers to use.  This
> >    change has been made.
> 
> I just noticed that this won't work. We have this declaration:
> 
> (*pdata->set_max_dev_wakeup_lat)(struct device *dev, unsigned long t)
> 
> In case of cpu it is not possible to underlying code to identify the
> caller. 

Eh, nice catch.  Let's add set_max_intr_lat() back in - perhaps call it 
set_max_mpu_wakeup_lat() instead for symmetry?

> This derives a question should we have parameter for caller
> identification in set_max_dev_wakeup_lat()?
> 
> I mean currently we are assuming that there is only one caller for each 
> device. Is this correct assumination?  If we think e.g. busses. There 
> might be drivers for devices on some specific bus. Each of them might 
> want to set latency constraint for the bus.

In the case of bus wakeup latency, all of the on-chip interconnects share 
the same wakeup latency - the CORE powerdomain wakeup latency.  So 
set_max_dma_lat() covers all of the interconnect latencies.

We could call it set_max_bus_wakeup_lat(), with a prototype similar to 
set_max_dev_wakeup_lat(), for consistency. (The bus agent argument would 
effectively be ignored in OMAP2/3.)

Thoughts?


- Paul

Reply via email to