Re: [PATCH V5 0/6] OMAPDSS: Cleanup cpu_is checks

2012-09-06 Thread Tony Lindgren
* Tomi Valkeinen tomi.valkei...@ti.com [120831 04:24]:
 On Thu, 2012-08-30 at 10:19 -0700, Tony Lindgren wrote:
  Hi,
  
  * Tomi Valkeinen tomi.valkei...@ti.com [120830 00:35]:
   On Wed, 2012-08-29 at 17:20 -0700, Tony Lindgren wrote:

Good to see this, we need this badly to avoid blocking
single zImage effort on omaps. Can you also please take
   
   What is the issue with single zImage? How do cpu_is_ check affect it?
  
  The usage for that should only be limited to arch/arm/mach-omap2
  so we can make cpu.h local as we can't include mach and plat
  header files from the drivers with single zImage.
 
 Ok.
 
   $ git grep -E plat|mach drivers/video/omap*
   drivers/video/omap/lcd_ams_delta.c:#include plat/board-ams-delta.h
   * Needs to be moved
  
  Yes, that should be either mach/board-ams-delta.h, or separate driver
  specific headers in include/linux/platform_data. For omap1 we are not
  planning common zImage support, so let's just make sure we're not
  breaking anything there as people are still using it.
 
 Hmm, so did I understand right, for omap1 stuff we can still include
 from arch/arm/mach-omap1/include/mach?

Yes that's a separate issue to fix that up for armv4/5 common
zImage support if people want to do that later on.
 
 If so, that makes things easier. I can manage the omap2+ stuff fine, but
 I have no experience with omap1, nor do I have any omap1 devices. So I'd
 rather keep the omap1 code as it is, in fear that I'd just break it
 totally, and I'd rather spend my time on omap2+ code.

Regards,

Tony

--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH V5 0/6] OMAPDSS: Cleanup cpu_is checks

2012-08-31 Thread Tomi Valkeinen
On Thu, 2012-08-30 at 10:19 -0700, Tony Lindgren wrote:
 Hi,
 
 * Tomi Valkeinen tomi.valkei...@ti.com [120830 00:35]:
  On Wed, 2012-08-29 at 17:20 -0700, Tony Lindgren wrote:
   
   Good to see this, we need this badly to avoid blocking
   single zImage effort on omaps. Can you also please take
  
  What is the issue with single zImage? How do cpu_is_ check affect it?
 
 The usage for that should only be limited to arch/arm/mach-omap2
 so we can make cpu.h local as we can't include mach and plat
 header files from the drivers with single zImage.

Ok.

  $ git grep -E plat|mach drivers/video/omap*
  drivers/video/omap/lcd_ams_delta.c:#include plat/board-ams-delta.h
  * Needs to be moved
 
 Yes, that should be either mach/board-ams-delta.h, or separate driver
 specific headers in include/linux/platform_data. For omap1 we are not
 planning common zImage support, so let's just make sure we're not
 breaking anything there as people are still using it.

Hmm, so did I understand right, for omap1 stuff we can still include
from arch/arm/mach-omap1/include/mach?

If so, that makes things easier. I can manage the omap2+ stuff fine, but
I have no experience with omap1, nor do I have any omap1 devices. So I'd
rather keep the omap1 code as it is, in fear that I'd just break it
totally, and I'd rather spend my time on omap2+ code.

  drivers/video/omap2/dss/dss.c:#include plat/cpu.h
  * Uses cpu_is_* to find out the DSS version. dispc.c also uses cpu_is_*
  functions, but doesn't include plat/cpu.h. I know cpu_is_* checks should
  be removed, but is there some other file to include for the time being
  than plat/cpu.h?
 
 We could make it mach/cpu.h for omap1, but ideally we would just
 pass DSS_VERSION_XYZ type flag in platform data on omap1.

Ok. The omap1 fb driver seems to contain a few cpu_is_omap15xx() checks,
nothing else.

  drivers/video/omap2/dss/dss_features.c:#include plat/cpu.h
  * Uses cpu_is_* to find out the DSS version
 
 Here too.

Yep, for omap2+ I'll create a version ID that we'll pass via plat data.
 
  drivers/video/omap2/omapfb/omapfb-ioctl.c:#include plat/vrfb.h
  drivers/video/omap2/omapfb/omapfb-ioctl.c:#include plat/vram.h
  drivers/video/omap2/omapfb/omapfb-main.c:#include plat/vram.h
  drivers/video/omap2/omapfb/omapfb-main.c:#include plat/vrfb.h
  drivers/video/omap2/omapfb/omapfb-sysfs.c:#include plat/vrfb.h
  drivers/video/omap2/vram.c:#include plat/vram.h
  drivers/video/omap2/vram.c:#include plat/dma.h
  drivers/video/omap2/vrfb.c:#include plat/vrfb.h
  drivers/video/omap2/vrfb.c:#include plat/sdrc.h
  
  Of these, I'm not sure how to handle.
 
 These should eventually be in platform_data as driver specific headers.
  
  Grep shows that vram.c is only used by (the newer) omapfb, so it could
  be considered a part of that driver. It still needs to be built-in, as
  it needs to reserve memory early in the boot process (done with a call
  from arch/arm/plat-omap/common.c).
 
 Hmm it sounds like omap_vram_reserve_sdram_memblock() should be in
 plat-omap and just pass the pointer for later use for vram.c.
  
  Also board files can use a func call to define the amount of memory to
  allocate, but only rx51 seems to do this in the mainline.
  
  Anyway, I believe vram.c is going away when we start to use CMA.
 
 OK cool. 
  
  As for vrfb... I'm not really sure where it belongs. It is used by the
  newer omapfb and OMAP V4L2 driver. VRFB is a part of the OMAP's memory
  controller, so I'm not sure if it's really a normal driver.
 
 Maybe just split it to platform code for the memblock stuff and pass
 the necessary information to the driver in platform_data?

I'll try to figure out something for vrfb.

 Tomi



signature.asc
Description: This is a digitally signed message part


Re: [PATCH V5 0/6] OMAPDSS: Cleanup cpu_is checks

2012-08-30 Thread Tomi Valkeinen
On Wed, 2012-08-29 at 17:20 -0700, Tony Lindgren wrote:
 * Chandrabhanu Mahapatra cmahapa...@ti.com [120820 06:26]:
  Hi everyone,
  this patch series aims at cleaning up of DSS of cpu_is checks thereby 
  making it
  more generic.
  
  The 1st patch cleans up cpu_is checks from DISPC code.
  The 2nd patch removes unused functions from DSS code.
  The 3rd patch cleans up cpu_is checks from DSS code.
  The 4th patch removes cpu_is checks from VENC code.
  The 5th patch disables VENC support on OMAP4.
  The 6th patch removes cpu_is checks from DPI code and replaces it with a
  dss feature.
 
 Good to see this, we need this badly to avoid blocking
 single zImage effort on omaps. Can you also please take

What is the issue with single zImage? How do cpu_is_ check affect it?

 a look at the omap dss headers and make sure that
 drivers/video/omap code does not do any #include mach/*.h
 or plat/*.h?
 
 The driver specific headers should be now moved to live in
 include/linux/platform_data directory instead of the current
 arch/arm/*omap*/include/*.

I had a brief look at drivers/video/omap*. Here's a brief status. I
don't really know much about the old fb driver (drivers/video/omap) so
my comments may not be totally correct. And all fixing I do there is
done in blind, I don't have any omap1 devices.

I've left out the trivial cleanups from the list (i.e. file includes a
header that it doesn't need), there were a bunch of those. I'll make a
patch for these.


$ git grep -E plat|mach drivers/video/omap*
drivers/video/omap/lcd_ams_delta.c:#include plat/board-ams-delta.h
* Needs to be moved
* lcd_ams_delta uses also omap_write/read

drivers/video/omap/lcd_inn1510.c:#include plat/fpga.h
* No idea about this. Who wants to convert the fpga support? =)

drivers/video/omap/lcd_mipid.c:#include plat/lcd_mipid.h
* Needs to be moved

drivers/video/omap/lcd_osk.c:#include plat/mux.h
* Uses omap_cfg_reg(PWL). I don't know what this is...
* lcd_osk.c uses omap_write/read

drivers/video/omap/lcdc.c:#include mach/lcdc.h
* Needs to be moved

drivers/video/omap/lcdc.c:#include plat/dma.h
* Uses arch/arm/mach-omap1/lcd_dma.c. Any idea about this? Will DMA
engine support OMAP1's LCD DMA?

drivers/video/omap/omapfb_main.c:#include plat/dma.h
* Uses DMA API to set DMA priority

drivers/video/omap/sossi.c:#include plat/dma.h
* Uses arch/arm/mach-omap1/lcd_dma.c

drivers/video/omap2/dss/dss.c:#include plat/cpu.h
* Uses cpu_is_* to find out the DSS version. dispc.c also uses cpu_is_*
functions, but doesn't include plat/cpu.h. I know cpu_is_* checks should
be removed, but is there some other file to include for the time being
than plat/cpu.h?

drivers/video/omap2/dss/dss_features.c:#include plat/cpu.h
* Uses cpu_is_* to find out the DSS version

drivers/video/omap2/omapfb/omapfb-ioctl.c:#include plat/vrfb.h
drivers/video/omap2/omapfb/omapfb-ioctl.c:#include plat/vram.h
drivers/video/omap2/omapfb/omapfb-main.c:#include plat/vram.h
drivers/video/omap2/omapfb/omapfb-main.c:#include plat/vrfb.h
drivers/video/omap2/omapfb/omapfb-sysfs.c:#include plat/vrfb.h
drivers/video/omap2/vram.c:#include plat/vram.h
drivers/video/omap2/vram.c:#include plat/dma.h
drivers/video/omap2/vrfb.c:#include plat/vrfb.h
drivers/video/omap2/vrfb.c:#include plat/sdrc.h

Of these, I'm not sure how to handle.

Grep shows that vram.c is only used by (the newer) omapfb, so it could
be considered a part of that driver. It still needs to be built-in, as
it needs to reserve memory early in the boot process (done with a call
from arch/arm/plat-omap/common.c).

Also board files can use a func call to define the amount of memory to
allocate, but only rx51 seems to do this in the mainline.

Anyway, I believe vram.c is going away when we start to use CMA.


As for vrfb... I'm not really sure where it belongs. It is used by the
newer omapfb and OMAP V4L2 driver. VRFB is a part of the OMAP's memory
controller, so I'm not sure if it's really a normal driver.

 Tomi



signature.asc
Description: This is a digitally signed message part


Re: [PATCH V5 0/6] OMAPDSS: Cleanup cpu_is checks

2012-08-30 Thread Tony Lindgren
Hi,

* Tomi Valkeinen tomi.valkei...@ti.com [120830 00:35]:
 On Wed, 2012-08-29 at 17:20 -0700, Tony Lindgren wrote:
  
  Good to see this, we need this badly to avoid blocking
  single zImage effort on omaps. Can you also please take
 
 What is the issue with single zImage? How do cpu_is_ check affect it?

The usage for that should only be limited to arch/arm/mach-omap2
so we can make cpu.h local as we can't include mach and plat
header files from the drivers with single zImage.
 
 I had a brief look at drivers/video/omap*. Here's a brief status. I
 don't really know much about the old fb driver (drivers/video/omap) so
 my comments may not be totally correct. And all fixing I do there is
 done in blind, I don't have any omap1 devices.
 
 I've left out the trivial cleanups from the list (i.e. file includes a
 header that it doesn't need), there were a bunch of those. I'll make a
 patch for these.
 
 
 $ git grep -E plat|mach drivers/video/omap*
 drivers/video/omap/lcd_ams_delta.c:#include plat/board-ams-delta.h
 * Needs to be moved

Yes, that should be either mach/board-ams-delta.h, or separate driver
specific headers in include/linux/platform_data. For omap1 we are not
planning common zImage support, so let's just make sure we're not
breaking anything there as people are still using it.

 * lcd_ams_delta uses also omap_write/read

Limiting omap_write/read to omap1 is OK for now, unless the fix
is trivial to do with ioremap + readw/writew.
 
 drivers/video/omap/lcd_inn1510.c:#include plat/fpga.h
 * No idea about this. Who wants to convert the fpga support? =)

I'll move it to mach/fpga.h as it's omap1 specifc.
 
 drivers/video/omap/lcd_mipid.c:#include plat/lcd_mipid.h
 * Needs to be moved
 
 drivers/video/omap/lcd_osk.c:#include plat/mux.h
 * Uses omap_cfg_reg(PWL). I don't know what this is...

I'll move plat/mux.h into mach for omap1. For omap2+, we have
a local mux.h and are moving to use device tree based pinctrl-single
driver.

 * lcd_osk.c uses omap_write/read
 
 drivers/video/omap/lcdc.c:#include mach/lcdc.h
 * Needs to be moved

This you can move to platform_data or mach for omap1?
 
 drivers/video/omap/lcdc.c:#include plat/dma.h
 * Uses arch/arm/mach-omap1/lcd_dma.c. Any idea about this? Will DMA
 engine support OMAP1's LCD DMA?

I think it should eventually as it can detect the device and could
automatically call those functions. Not sure if all options for
configuring it are available yet in dma engine.
 
 drivers/video/omap/omapfb_main.c:#include plat/dma.h
 * Uses DMA API to set DMA priority
 
 drivers/video/omap/sossi.c:#include plat/dma.h
 * Uses arch/arm/mach-omap1/lcd_dma.c
 
 drivers/video/omap2/dss/dss.c:#include plat/cpu.h
 * Uses cpu_is_* to find out the DSS version. dispc.c also uses cpu_is_*
 functions, but doesn't include plat/cpu.h. I know cpu_is_* checks should
 be removed, but is there some other file to include for the time being
 than plat/cpu.h?

We could make it mach/cpu.h for omap1, but ideally we would just
pass DSS_VERSION_XYZ type flag in platform data on omap1.
 
 drivers/video/omap2/dss/dss_features.c:#include plat/cpu.h
 * Uses cpu_is_* to find out the DSS version

Here too.
 
 drivers/video/omap2/omapfb/omapfb-ioctl.c:#include plat/vrfb.h
 drivers/video/omap2/omapfb/omapfb-ioctl.c:#include plat/vram.h
 drivers/video/omap2/omapfb/omapfb-main.c:#include plat/vram.h
 drivers/video/omap2/omapfb/omapfb-main.c:#include plat/vrfb.h
 drivers/video/omap2/omapfb/omapfb-sysfs.c:#include plat/vrfb.h
 drivers/video/omap2/vram.c:#include plat/vram.h
 drivers/video/omap2/vram.c:#include plat/dma.h
 drivers/video/omap2/vrfb.c:#include plat/vrfb.h
 drivers/video/omap2/vrfb.c:#include plat/sdrc.h
 
 Of these, I'm not sure how to handle.

These should eventually be in platform_data as driver specific headers.
 
 Grep shows that vram.c is only used by (the newer) omapfb, so it could
 be considered a part of that driver. It still needs to be built-in, as
 it needs to reserve memory early in the boot process (done with a call
 from arch/arm/plat-omap/common.c).

Hmm it sounds like omap_vram_reserve_sdram_memblock() should be in
plat-omap and just pass the pointer for later use for vram.c.
 
 Also board files can use a func call to define the amount of memory to
 allocate, but only rx51 seems to do this in the mainline.
 
 Anyway, I believe vram.c is going away when we start to use CMA.

OK cool. 
 
 As for vrfb... I'm not really sure where it belongs. It is used by the
 newer omapfb and OMAP V4L2 driver. VRFB is a part of the OMAP's memory
 controller, so I'm not sure if it's really a normal driver.

Maybe just split it to platform code for the memblock stuff and pass
the necessary information to the driver in platform_data?

Regards,

Tony

--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH V5 0/6] OMAPDSS: Cleanup cpu_is checks

2012-08-29 Thread Tony Lindgren
* Chandrabhanu Mahapatra cmahapa...@ti.com [120820 06:26]:
 Hi everyone,
 this patch series aims at cleaning up of DSS of cpu_is checks thereby making 
 it
 more generic.
 
 The 1st patch cleans up cpu_is checks from DISPC code.
 The 2nd patch removes unused functions from DSS code.
 The 3rd patch cleans up cpu_is checks from DSS code.
 The 4th patch removes cpu_is checks from VENC code.
 The 5th patch disables VENC support on OMAP4.
 The 6th patch removes cpu_is checks from DPI code and replaces it with a
 dss feature.

Good to see this, we need this badly to avoid blocking
single zImage effort on omaps. Can you also please take
a look at the omap dss headers and make sure that
drivers/video/omap code does not do any #include mach/*.h
or plat/*.h?

The driver specific headers should be now moved to live in
include/linux/platform_data directory instead of the current
arch/arm/*omap*/include/*.

Regards,

Tony
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH V5 0/6] OMAPDSS: Cleanup cpu_is checks

2012-08-20 Thread Chandrabhanu Mahapatra
Hi everyone,
this patch series aims at cleaning up of DSS of cpu_is checks thereby making it
more generic.

The 1st patch cleans up cpu_is checks from DISPC code.
The 2nd patch removes unused functions from DSS code.
The 3rd patch cleans up cpu_is checks from DSS code.
The 4th patch removes cpu_is checks from VENC code.
The 5th patch disables VENC support on OMAP4.
The 6th patch removes cpu_is checks from DPI code and replaces it with a
dss feature.

Changes with respect to V1 series:
 1st patch :
* moved dispc_ops structure definitions from dss_features.c to dispc.c
  and renamed it to dispc_features
* moved dispc_features definitions close to dispc_init_features() 
thereby
  eliminating various functions declarations from top of dispc.c
* used __initconst before dispc_features definitions and __init before
  dispc_init_features()
* removed definitions of _dispc_lcd_timings_ok_24xx,
  _dispc_lcd_timings_ok_44xx, _dispc_mgr_set_lcd_timings_hv_24xx and
  _dispc_mgr_set_lcd_timings_hv_44xx replacing them with appropiate 
variables
* renamed various dispc_features structures to give consistent naming

 3rd patch :
* moved dss_ops structure definitions from dss_features.c to dss.c and
  renamed it to dss_features
* removed all functions from dss_features structure and replaced them 
with
  appropiate variables
* used __initconst before dss_features definitions and __init before 
  dss_init_features()
* renamed various dss_features structures to give consistent naming
* renamed factor variable of dss_features structure to 
dss_fck_multiplier

All your comments and suggestions are welcome.

Refenence Tree:
g...@gitorious.org:~chandrabhanu/linux-omap-dss2/chandrabhanus-linux.git 
dss_cleanup

Chandrabhanu Mahapatra (6):
  OMAPDSS: DISPC: cleanup cpu_is_ checks
  OMAPDSS: DSS: Remove redundant functions
  OMAPDSS: DSS: Cleanup cpu_is_ checks
  OMAPDSS: VENC: Remove cpu_is_ checks
  ARM: OMAP: Disable venc for OMAP4
  OMAPDSS: DPI: Remove cpu_is_ checks

 arch/arm/mach-omap2/display.c  |1 -
 drivers/video/omap2/dss/dispc.c|  433 
 drivers/video/omap2/dss/dpi.c  |   12 +-
 drivers/video/omap2/dss/dss.c  |  162 ++--
 drivers/video/omap2/dss/dss.h  |2 -
 drivers/video/omap2/dss/dss_features.c |1 +
 drivers/video/omap2/dss/dss_features.h |1 +
 drivers/video/omap2/dss/venc.c |   11 -
 8 files changed, 363 insertions(+), 260 deletions(-)

-- 
1.7.10

--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html