> Most of the ideas where around clock throttling of buses and memory. > Things like throttling the graphics BW to whatever memory it was using, > or clocking down the GPU when idle. My thought was a pm_qos hint could > be handy, but I was assured that modern hardware auto-throttled and > didn't need this. So I dropped it. (At that time I also thought it > would apply to HD audio to allow better DAC throttling. I also dropped > this one too for the same reasons.) Yes, auto throttling by tying the Bus clock in relation to the CPU is a fairly good idea, but cannot be the only solution. The drivers know best their requirements and some drivers would need arbirated bandwidth that no one else can encroach on. > One problem was what type of units to use when talking about the qos of > the graphics was not obvious. It needs to be something meaningful to > be portable or provide a good abstraction. With PM QoS you can specify one parameter. However, a single parameter is quite insufficient. To specify bus bandwidth (say MBPS), we would need 2 dimensional values. Buses are getting complex and the arbiters that sit around them can make good decisions when they are fed the right data. The clock speed is just one of them. To allocate a bandwidth to a specific client, you would need to specify the amount of data to be transferred and when transferred, the amount of data in burst that need to be transferred would help in specifying the speed for each transaction. The clock speed can be deduced by the arbiter/driver from these two inputs. > One problem was what type of units to use when talking about the qos of > the graphics was not obvious. It needs to be something meaningful to > be portable or provide a good abstraction. The units as we understand better are MBPS. They are something that drivers can calculate before they make a request and request the Bandwidth and the burst bandwidth to the arbiter. What do you think about vector data inputs? Thanks, Praveen _______________________________________________ linux-pm mailing list linux-pm@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/linux-pm