On Friday, August 10, 2012, 함명주 wrote: > > + Myungjoo Ham, > > > > It used at devfreq. Mr. Ham can you explain it in detail? > > > > Thank you, > > Kyungmin Park > > , > > On 8/9/12, Rafael J. Wysocki <r...@sisk.pl> wrote: > > > On Wednesday, August 08, 2012, Jonghwa Lee wrote: > > >> Bus throughput metric is added to PM QoS in order to control the > > >> frequency of memory interfaces and busses with PM QoS. > > >> > > >> Signed-off-by: Jonghwa Lee <jonghwa3....@samsung.com> > > >> Signed-off-by: Kyungmin Park <kyungmin.p...@samsung.com> > > > > > > I said some time ago I didn't want any new global PM QoS classes to be > > > added this way. > > > > > > Can you please post a driver patch using this new thing? > > > > > > Rafael > > It'd be too early for V4L2 device driver QoS patches as they are undergoing > major updates and the previous QoS patches over they are now obsolete. > > However, I've found that one QoS patch is still intact with the current one. > Here goes the example driver that uses Bus-Throughput for its operation. > (Fortunately, it is not V4L2, but DRM driver) > > It is a G2D (2D graphics acceleration) device driver that gets command lists > from userspace and then process them via DMA. Many command lists finish even > before any DVFS mechanism may react while the response time of a command list > is still important for the user processes. > > Here we go:
Well, so my questions are: > --- > diff --git a/drivers/gpu/drm/exynos/exynos_drm_g2d.c > b/drivers/gpu/drm/exynos/exynos_drm_g2d.c > index d2d88f2..969b2c5 100644 > --- a/drivers/gpu/drm/exynos/exynos_drm_g2d.c > +++ b/drivers/gpu/drm/exynos/exynos_drm_g2d.c > @@ -14,6 +14,7 @@ > #include <linux/interrupt.h> > #include <linux/io.h> > #include <linux/platform_device.h> > +#include <linux/pm_qos.h> > #include <linux/pm_runtime.h> > #include <linux/slab.h> > #include <linux/workqueue.h> > @@ -135,6 +136,7 @@ struct g2d_data { > struct workqueue_struct *g2d_workq; > struct work_struct runqueue_work; > struct exynos_drm_subdrv subdrv; > + struct pm_qos_request_list pm_qos; > bool suspended; > > /* cmdlist */ > @@ -314,6 +316,9 @@ static void g2d_dma_start(struct g2d_data *g2d, > pm_runtime_get_sync(g2d->dev); > clk_enable(g2d->gate_clk); > > + /* 416MHz w/ 64b 30% saturating bus */ > + pm_qos_update_request(&g2d->pm_qos, 1000000); > + (1) What's the unit of that number and (2) why is it global? Rafael -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/