Hello Jouni, On Wed, 18 Jun 2008, Högander Jouni wrote: > "ext Paul Walmsley" <paul@xxxxxxxxx> 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