public inbox for linux-omap@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3] OMAP3: Registering sgx device and it's platform data
@ 2010-05-11  6:54 Manjunatha GK
  2010-05-11 14:57 ` Kevin Hilman
  0 siblings, 1 reply; 3+ messages in thread
From: Manjunatha GK @ 2010-05-11  6:54 UTC (permalink / raw)
  To: linux-omap
  Cc: Preshit Agarwal, Tony Lindgren, Kevin Hilman, Mike Turquette,
	Hemanth V

The SGX powervr_device is registered with it's platform specific
data to provide information about setting constraint through
omap_pm_set_min_bus_tput.

Signed-off-by: Preshit Agarwal <preshit.agarwal@ti.com>
Signed-off-by: Manjunatha GK <manjugk@ti.com>
Cc: Tony Lindgren <tony@atomide.com>
Cc: Kevin Hilman <khilman@deeprootsystems.com>
Cc: Mike Turquette <mturquette@ti.com>
Cc: Hemanth V <hemanthv@ti.com>
---
 arch/arm/mach-omap2/devices.c                  |   26 ++++++++++++++++++++++-
 arch/arm/mach-omap2/include/mach/omap_sgxdef.h |   11 ++++++++++
 2 files changed, 35 insertions(+), 2 deletions(-)
 create mode 100644 arch/arm/mach-omap2/include/mach/omap_sgxdef.h

diff --git a/arch/arm/mach-omap2/devices.c b/arch/arm/mach-omap2/devices.c
index 20fa76e..aabbf7b 100644
--- a/arch/arm/mach-omap2/devices.c
+++ b/arch/arm/mach-omap2/devices.c
@@ -26,7 +26,7 @@
 #include <plat/mux.h>
 #include <mach/gpio.h>
 #include <plat/mmc.h>
-
+#include <mach/omap_sgxdef.h>
 #include "mux.h"
 
 #if defined(CONFIG_VIDEO_OMAP2) || defined(CONFIG_VIDEO_OMAP2_MODULE)
@@ -791,6 +791,28 @@ static inline void omap_hdq_init(void)
 static inline void omap_hdq_init(void) {}
 #endif
 
+struct sgx_platform_data omap_sgx_data = {
+#ifdef CONFIG_PM
+	.set_min_bus_tput = omap_pm_set_min_bus_tput,
+#else
+	.set_min_bus_tput = NULL,
+#endif
+};
+
+static struct platform_device powervr_device = {
+	.name            = "pvrsrvkm",
+	.id              = -1,
+	.dev            = {
+	.platform_data = &omap_sgx_data,
+       }
+};
+
+static void omap_init_sgx(void)
+{
+       (void) platform_device_register(&powervr_device);
+}
+
+
 /*-------------------------------------------------------------------------*/
 
 static int __init omap2_init_devices(void)
@@ -805,7 +827,7 @@ static int __init omap2_init_devices(void)
 	omap_hdq_init();
 	omap_init_sti();
 	omap_init_sha1_md5();
-
+	omap_init_sgx();
 	return 0;
 }
 arch_initcall(omap2_init_devices);
diff --git a/arch/arm/mach-omap2/include/mach/omap_sgxdef.h b/arch/arm/mach-omap2/include/mach/omap_sgxdef.h
new file mode 100644
index 0000000..5d90a6a
--- /dev/null
+++ b/arch/arm/mach-omap2/include/mach/omap_sgxdef.h
@@ -0,0 +1,11 @@
+#ifndef OMAP_SGXDEF_H
+#define OMAP_SGXDEF_H
+
+#include <plat/omap-pm.h>
+
+struct sgx_platform_data {
+	void(*set_min_bus_tput)(struct device *dev, u8 agent_id,
+							unsigned long r);
+};
+
+#endif
-- 
1.6.3.3


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH v3] OMAP3: Registering sgx device and it's platform data
  2010-05-11  6:54 [PATCH v3] OMAP3: Registering sgx device and it's platform data Manjunatha GK
@ 2010-05-11 14:57 ` Kevin Hilman
  2010-05-12  6:33   ` G, Manjunath Kondaiah
  0 siblings, 1 reply; 3+ messages in thread
From: Kevin Hilman @ 2010-05-11 14:57 UTC (permalink / raw)
  To: Manjunatha GK
  Cc: linux-omap, Preshit Agarwal, Tony Lindgren, Mike Turquette,
	Hemanth V

Manjunatha GK <manjugk@ti.com> writes:

> The SGX powervr_device is registered with it's platform specific
> data to provide information about setting constraint through
> omap_pm_set_min_bus_tput.
>
> Signed-off-by: Preshit Agarwal <preshit.agarwal@ti.com>
> Signed-off-by: Manjunatha GK <manjugk@ti.com>
> Cc: Tony Lindgren <tony@atomide.com>
> Cc: Kevin Hilman <khilman@deeprootsystems.com>
> Cc: Mike Turquette <mturquette@ti.com>
> Cc: Hemanth V <hemanthv@ti.com>
> ---
>  arch/arm/mach-omap2/devices.c                  |   26 ++++++++++++++++++++++-
>  arch/arm/mach-omap2/include/mach/omap_sgxdef.h |   11 ++++++++++
>  2 files changed, 35 insertions(+), 2 deletions(-)
>  create mode 100644 arch/arm/mach-omap2/include/mach/omap_sgxdef.h
>
> diff --git a/arch/arm/mach-omap2/devices.c b/arch/arm/mach-omap2/devices.c
> index 20fa76e..aabbf7b 100644
> --- a/arch/arm/mach-omap2/devices.c
> +++ b/arch/arm/mach-omap2/devices.c
> @@ -26,7 +26,7 @@
>  #include <plat/mux.h>
>  #include <mach/gpio.h>
>  #include <plat/mmc.h>
> -
> +#include <mach/omap_sgxdef.h>
>  #include "mux.h"
>  
>  #if defined(CONFIG_VIDEO_OMAP2) || defined(CONFIG_VIDEO_OMAP2_MODULE)
> @@ -791,6 +791,28 @@ static inline void omap_hdq_init(void)
>  static inline void omap_hdq_init(void) {}
>  #endif
>  
> +struct sgx_platform_data omap_sgx_data = {
> +#ifdef CONFIG_PM
> +	.set_min_bus_tput = omap_pm_set_min_bus_tput,
> +#else
> +	.set_min_bus_tput = NULL,
> +#endif

Please explain why this should be dependent on CONFIG_PM?

I suspect you should be making these kinds of decisions in the driver
itself, not in device init.

> +};
> +
> +static struct platform_device powervr_device = {
> +	.name            = "pvrsrvkm",
> +	.id              = -1,
> +	.dev            = {
> +	.platform_data = &omap_sgx_data,
> +       }
> +};
> +
> +static void omap_init_sgx(void)
> +{
> +       (void) platform_device_register(&powervr_device);
> +}
> +
> +
>  /*-------------------------------------------------------------------------*/
>  
>  static int __init omap2_init_devices(void)
> @@ -805,7 +827,7 @@ static int __init omap2_init_devices(void)
>  	omap_hdq_init();
>  	omap_init_sti();
>  	omap_init_sha1_md5();
> -
> +	omap_init_sgx();
>  	return 0;
>  }
>  arch_initcall(omap2_init_devices);
> diff --git a/arch/arm/mach-omap2/include/mach/omap_sgxdef.h b/arch/arm/mach-omap2/include/mach/omap_sgxdef.h
> new file mode 100644
> index 0000000..5d90a6a
> --- /dev/null
> +++ b/arch/arm/mach-omap2/include/mach/omap_sgxdef.h
> @@ -0,0 +1,11 @@
> +#ifndef OMAP_SGXDEF_H
> +#define OMAP_SGXDEF_H
> +
> +#include <plat/omap-pm.h>
> +
> +struct sgx_platform_data {
> +	void(*set_min_bus_tput)(struct device *dev, u8 agent_id,

need a space after 'void' and before '('
           
> +							unsigned long r);

minor nit: you could drop a tab of 3 for nicer looking alignment 

Kevin

^ permalink raw reply	[flat|nested] 3+ messages in thread

* RE: [PATCH v3] OMAP3: Registering sgx device and it's platform data
  2010-05-11 14:57 ` Kevin Hilman
@ 2010-05-12  6:33   ` G, Manjunath Kondaiah
  0 siblings, 0 replies; 3+ messages in thread
From: G, Manjunath Kondaiah @ 2010-05-12  6:33 UTC (permalink / raw)
  To: Kevin Hilman
  Cc: linux-omap@vger.kernel.org, Agarwal, Preshit, Tony Lindgren,
	Turquette, Mike, V, Hemanth

 

> -----Original Message-----
> From: Kevin Hilman [mailto:khilman@deeprootsystems.com] 
> Sent: Tuesday, May 11, 2010 8:27 PM
> To: G, Manjunath Kondaiah
> Cc: linux-omap@vger.kernel.org; Agarwal, Preshit; Tony 
> Lindgren; Turquette, Mike; V, Hemanth
> Subject: Re: [PATCH v3] OMAP3: Registering sgx device and 
> it's platform data
> 
> Manjunatha GK <manjugk@ti.com> writes:
> 
> > The SGX powervr_device is registered with it's platform specific
> > data to provide information about setting constraint through
> > omap_pm_set_min_bus_tput.
> >
> > Signed-off-by: Preshit Agarwal <preshit.agarwal@ti.com>
> > Signed-off-by: Manjunatha GK <manjugk@ti.com>
> > Cc: Tony Lindgren <tony@atomide.com>
> > Cc: Kevin Hilman <khilman@deeprootsystems.com>
> > Cc: Mike Turquette <mturquette@ti.com>
> > Cc: Hemanth V <hemanthv@ti.com>
> > ---
> >  arch/arm/mach-omap2/devices.c                  |   26 
> ++++++++++++++++++++++-
> >  arch/arm/mach-omap2/include/mach/omap_sgxdef.h |   11 ++++++++++
> >  2 files changed, 35 insertions(+), 2 deletions(-)
> >  create mode 100644 arch/arm/mach-omap2/include/mach/omap_sgxdef.h
> >
> > diff --git a/arch/arm/mach-omap2/devices.c 
> b/arch/arm/mach-omap2/devices.c
> > index 20fa76e..aabbf7b 100644
> > --- a/arch/arm/mach-omap2/devices.c
> > +++ b/arch/arm/mach-omap2/devices.c
> > @@ -26,7 +26,7 @@
> >  #include <plat/mux.h>
> >  #include <mach/gpio.h>
> >  #include <plat/mmc.h>
> > -
> > +#include <mach/omap_sgxdef.h>
> >  #include "mux.h"
> >  
> >  #if defined(CONFIG_VIDEO_OMAP2) || 
> defined(CONFIG_VIDEO_OMAP2_MODULE)
> > @@ -791,6 +791,28 @@ static inline void omap_hdq_init(void)
> >  static inline void omap_hdq_init(void) {}
> >  #endif
> >  
> > +struct sgx_platform_data omap_sgx_data = {
> > +#ifdef CONFIG_PM
> > +	.set_min_bus_tput = omap_pm_set_min_bus_tput,
> > +#else
> > +	.set_min_bus_tput = NULL,
> > +#endif
> 
> Please explain why this should be dependent on CONFIG_PM?
> 
> I suspect you should be making these kinds of decisions in the driver
> itself, not in device init.

Not sure in which context the SGX driver uses this platform data.
But, as you mentioned, we can leave it to SGX driver for handling it in  
driver itself. I will make this as NULL in device init.

> 
> > +};
> > +
> > +static struct platform_device powervr_device = {
> > +	.name            = "pvrsrvkm",
> > +	.id              = -1,
> > +	.dev            = {
> > +	.platform_data = &omap_sgx_data,
> > +       }
> > +};
> > +
> > +static void omap_init_sgx(void)
> > +{
> > +       (void) platform_device_register(&powervr_device);
> > +}
> > +
> > +
> >  
> /*------------------------------------------------------------
> -------------*/
> >  
> >  static int __init omap2_init_devices(void)
> > @@ -805,7 +827,7 @@ static int __init omap2_init_devices(void)
> >  	omap_hdq_init();
> >  	omap_init_sti();
> >  	omap_init_sha1_md5();
> > -
> > +	omap_init_sgx();
> >  	return 0;
> >  }
> >  arch_initcall(omap2_init_devices);
> > diff --git a/arch/arm/mach-omap2/include/mach/omap_sgxdef.h 
> b/arch/arm/mach-omap2/include/mach/omap_sgxdef.h
> > new file mode 100644
> > index 0000000..5d90a6a
> > --- /dev/null
> > +++ b/arch/arm/mach-omap2/include/mach/omap_sgxdef.h
> > @@ -0,0 +1,11 @@
> > +#ifndef OMAP_SGXDEF_H
> > +#define OMAP_SGXDEF_H
> > +
> > +#include <plat/omap-pm.h>
> > +
> > +struct sgx_platform_data {
> > +	void(*set_min_bus_tput)(struct device *dev, u8 agent_id,
> 
> need a space after 'void' and before '('

Ok.

>            
> > +							
> unsigned long r);
> 
> minor nit: you could drop a tab of 3 for nicer looking alignment 
Ok. Thanks

-Manjunath

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2010-05-12  6:33 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-05-11  6:54 [PATCH v3] OMAP3: Registering sgx device and it's platform data Manjunatha GK
2010-05-11 14:57 ` Kevin Hilman
2010-05-12  6:33   ` G, Manjunath Kondaiah

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox