[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <201209082255.02291.rjw@sisk.pl>
Date: Sat, 8 Sep 2012 22:55:02 +0200
From: "Rafael J. Wysocki" <rjw@...k.pl>
To: myungjoo.ham@...sung.com
Cc: ¹Ú°æ¹Î <kyungmin.park@...sung.com>,
ÀÌÁ¾È <jonghwa3.lee@...sung.com>,
"linux-pm@...r.kernel.org" <linux-pm@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
Pavel Machek <pavel@....cz>, Len Brown <len.brown@...el.com>
Subject: Re: [PATCH] PM QoS: Add a metric : Bus Throughput.
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 <rjw@...k.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.lee@...sung.com>
> > >> Signed-off-by: Kyungmin Park <kyungmin.park@...sung.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 majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists