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/

Reply via email to