[PATCH] ASoC: Declare Headset as Mic and Headphone widgets for SDP3430

2009-03-19 Thread Lopez Cruz, Misael
Headset was declared previously as a Headphone widget connecting
HSMIC and HSOL/HSOR pins of TWL4030 codec in SDP430 machine driver.
The capture path becomes invalid as the Headphone widget is not a
valid input endpoint.

Instead of that, the Headset is declared as separate Microphone
and Headphone widgets. Current patch modifies audio map:

- Headset Mic: HSMIC with bias
- Headset Stereophone: HSOL, HSOR

Signed-off-by: Misael Lopez Cruz x0052...@ti.com
---
 sound/soc/omap/sdp3430.c |   24 
 1 files changed, 16 insertions(+), 8 deletions(-)

diff --git a/sound/soc/omap/sdp3430.c b/sound/soc/omap/sdp3430.c
index 0a41de6..10f1c86 100644
--- a/sound/soc/omap/sdp3430.c
+++ b/sound/soc/omap/sdp3430.c
@@ -90,8 +90,12 @@ static struct snd_soc_jack hs_jack;
 /* Headset jack detection DAPM pins */
 static struct snd_soc_jack_pin hs_jack_pins[] = {
{
-   .pin = Headset Jack,
-   .mask = SND_JACK_HEADSET,
+   .pin = Headset Mic,
+   .mask = SND_JACK_MICROPHONE,
+   },
+   {
+   .pin = Headset Stereophone,
+   .mask = SND_JACK_HEADPHONE,
},
 };
 
@@ -109,7 +113,8 @@ static struct snd_soc_jack_gpio hs_jack_gpios[] = {
 static const struct snd_soc_dapm_widget sdp3430_twl4030_dapm_widgets[] = {
SND_SOC_DAPM_MIC(Ext Mic, NULL),
SND_SOC_DAPM_SPK(Ext Spk, NULL),
-   SND_SOC_DAPM_HP(Headset Jack, NULL),
+   SND_SOC_DAPM_MIC(Headset Mic, NULL),
+   SND_SOC_DAPM_HP(Headset Stereophone, NULL),
 };
 
 static const struct snd_soc_dapm_route audio_map[] = {
@@ -123,11 +128,13 @@ static const struct snd_soc_dapm_route audio_map[] = {
{Ext Spk, NULL, HFL},
{Ext Spk, NULL, HFR},
 
-   /* Headset: HSMIC (with bias), HSOL, HSOR */
-   {Headset Jack, NULL, HSOL},
-   {Headset Jack, NULL, HSOR},
+   /* Headset Mic: HSMIC with bias */
{HSMIC, NULL, Headset Mic Bias},
-   {Headset Mic Bias, NULL, Headset Jack},
+   {Headset Mic Bias, NULL, Headset Mic},
+
+   /* Headset Stereophone (Headphone): HSOL, HSOR */
+   {Headset Stereophone, NULL, HSOL},
+   {Headset Stereophone, NULL, HSOR},
 };
 
 static int sdp3430_twl4030_init(struct snd_soc_codec *codec)
@@ -146,7 +153,8 @@ static int sdp3430_twl4030_init(struct snd_soc_codec *codec)
/* SDP3430 connected pins */
snd_soc_dapm_enable_pin(codec, Ext Mic);
snd_soc_dapm_enable_pin(codec, Ext Spk);
-   snd_soc_dapm_disable_pin(codec, Headset Jack);
+   snd_soc_dapm_disable_pin(codec, Headset Mic);
+   snd_soc_dapm_disable_pin(codec, Headset Stereophone);
 
/* TWL4030 not connected pins */
snd_soc_dapm_nc_pin(codec, AUXL);
-- 
1.5.4.3
--
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: dma_alloc_coherent fragmentation

2009-03-19 Thread Hiroshi DOYU
Hi Nishant,

From: ext Kamat, Nishant nska...@ti.com
Subject: dma_alloc_coherent fragmentation
Date: Wed, 18 Mar 2009 14:03:45 +0100

 Forwarding on behalf of Nishanth Menon:
 
 -Original Message-
 From: Menon, Nishanth 
 Sent: Tuesday, March 17, 2009 8:17 AM
 To: 'linux-arm-ker...@lists.arm.linux.org.uk'
 Cc: Gupta, Ramesh; Kevin Hilman; linux-omap@vger.kernel.org; Ramirez Luna, 
 Omar; Kanigeri, Hari; Ameya Palande; Guzman Lugo, Fernando; Ameya Palande
 Subject: dma_alloc_coherent fragmentation
 
 Looping in linux-arm ML:
 
 Discussion Ref: [1](linux-omap mailing list)
 While working with Linux OMAP kernel[2] we found that on allocating
 4 meg chunks using dma_alloc_coherent and de-allocating with
 dma_free_coherent in a loop using a test driver[7], the memory is
 getting fragmented as shown by Ameya's observation [3] finally
 resulting in dump_stack due to lack of pages.

What would happen with __GFP_RECLAIMABLE for dma_alloc_coherent()?
--
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 00/86] OMAP2/3: clock sync with linux-omap

2009-03-19 Thread Paul Walmsley
Hello Russell,

On Thu, 12 Mar 2009, Kevin Hilman wrote:

 This is the series of patches contained in the 'omap-clks3' branch of
 Russell King's git repository[1].  Posted on behalf of Russell who
 had some mail issues in first attempt, and then ran of out time.
 
 This series is proposed to be merged into the next merge window.
 
 Comments to the list appreciated.

I've spent some time reviewing these patches.

Many of the changes you've implemented are an improvement over the 
previous code.  Some of the patches would ordinarily prompt further 
comments and revision, but the benefit of merging these patches upstream 
in this merge window exceeds the benefit of further revision.

So my preference would be to see this current set sent upstream for this 
merge window.


regards,

- Paul
--
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: dma_alloc_coherent fragmentation

2009-03-19 Thread Menon, Nishanth
Hi Hiroshi,
 -Original Message-
 From: Hiroshi DOYU [mailto:hiroshi.d...@nokia.com]
 Sent: Thursday, March 19, 2009 8:43 AM

 
 
 What would happen with __GFP_RECLAIMABLE for dma_alloc_coherent()?
As per [1], GFP_TEMPORARY might be the right approach.. but yes,
Changing dummy to do:
dma_alloc_coherent(NULL, b[i].size, b[i].phy, GFP_TEMPORARY);

Seems to resolve the issue with the dummy driver.

The question however still remains: For a driver to allocate a memory which is 
not temporary in nature we'd recommend GFP_KERNEL. But as part of the exit 
sequence the driver will deallocate that memory and as part of init sequence, 
reallocate. Given that the memory is not reclaimed immediately, it looks like 
the only way to ensure that would be to do GFP_KERNEL | __GFP_RECLAIMABLE 
(which essentially is the definition of GFP_TEMPORARY).

Regards,
Nishanth Menon
Ref:
[1] http://lkml.indiana.edu/hypermail/linux/kernel/0705.2/0638.html
--
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 00/05] OMAP3: SR: Fixes in Smartreflex driver

2009-03-19 Thread Nayak, Rajendra
 -Original Message-
 From: Kevin Hilman [mailto:khil...@deeprootsystems.com] 
 Sent: Wednesday, March 18, 2009 9:59 PM
 To: Nayak, Rajendra
 Cc: linux-omap@vger.kernel.org
 Subject: Re: [PATCH 00/05] OMAP3: SR: Fixes in Smartreflex driver
 
 Nayak, Rajendra rna...@ti.com writes:
 
  Hi,
 
  This series fixes a set of defects/issues in Smartreflex 
 driver. SR autocompensation is now
  functional and is validated with these patches on a ES3.1 
 based SDP with the
  N values in Efuse.
  Patches apply and are validated on the latest pm branch (2.6.28).
 
 
 Hi Rajendra,
 
 Thanks for this series of SR fixes.  I send a couple very minor
 comments to a couple of the patches.  Also, this series does not apply
 cleanly to pm-2.6.28, I'm not sure why.  Applying manually with
 'patch' allows them to apply with fuzz suggesting that they were not
 generated against the current tree.

I usually pull from kernel.org. The latest commit on pm branch that's pulled
from it shows me this.. 

commit 4f422d583e2e233c19eb20754b8cfad6ed9e460a
Author: Nayak, Rajendra rna...@ti.com
Date:   Fri Feb 13 11:30:57 2009 +0530

OMAP3: PM: Update voltage levels for OPP1/2 on VDD1/2

..which does look quite old. But so does gitweb.
Is there some delta between kernel.org and your internal tree?

 
 Also, while you are in there cleaing up, could you add one more patch
 which converts the printk(KERN_* ...) into pr_debug, pr_err, pr_info,
 etc.

Yes, I can add a patch to clean that up.

 
 Thanks,
 
 Kevin
 
 
 --
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 3/7] ARM: OMAP: Add command line option for I2C bus speed

2009-03-19 Thread Jarkko Nikula
On Wed, 18 Mar 2009 20:30:45 +0100
ext Russell King - ARM Linux li...@arm.linux.org.uk wrote:

   I had similar thought as Felipe that it looks more generic this
   way. But don't know now immediately would multibuild will work?
   Was that your concern? E.g.
   
   __setup(i2c_bus=, arm_xxx_i2c_bus_setup);
   __setup(i2c_bus=, omap_i2c_bus_setup);
  
  Well is it generic enough to work for everybody? And if so, we
  should run it by the LKML and the linux-i2c lists.
 
 Any comments from the I2C list?

Unfortunately not. Are there some conference or why the list have been
so idle recently?

http://marc.info/?l=linux-i2cr=1b=200903w=2


Jarkko
--
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: [alsa-devel] [PATCH] ASoC: Declare Headset as Mic and Headphone widgets for SDP3430

2009-03-19 Thread Mark Brown
On Thu, Mar 19, 2009 at 01:07:34AM -0500, Lopez Cruz, Misael wrote:
 Headset was declared previously as a Headphone widget connecting
 HSMIC and HSOL/HSOR pins of TWL4030 codec in SDP430 machine driver.
 The capture path becomes invalid as the Headphone widget is not a
 valid input endpoint.

Applied, thanks.
--
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


BT656 Support and MMDC support on top of OMAP3EVM

2009-03-19 Thread Hiremath, Vaibhav
Hi,

I am getting some private requests for supporting BT656 and Multi-Media 
Daughter card on top of latest Kernel + Sakari's latest ISP-Camera 
patches/repository. So I am posting the patch supporting BT656 and MMDC support 
with all the review comments fixed (received from earlier posts).

Please note that, hence forth I will try to avoid submitting patches on top of 
V4L2-int framework. The next immediate activity would be migration to 
sub-device framework.

Sakari,

How about merging these patches (BT656 support patch) into your repository so 
that I don't have to maintain and re-submit the patches again and again. 

If you feel it should be done, then please let me know if you have any review 
comments I will try to fix immediately and provide you a patch.

The patches are following this mail.

Thanks,
Vaibhav Hiremath

--
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 1/2 (V3)] OMAP3 ISP-Camera: Added BT656 support ontop of Sakari's repository

2009-03-19 Thread hvaibhav
From: Vaibhav Hiremath hvaib...@ti.com

Support for BT656 through TVP5146 decoder, works on top of
Sakari's repository

http://git.gitorious.org/omap3camera/mainline.git

NOTE: Please note that, hence forth I will try to avoid submitting
  patches on top of V4L2-int framework. The next immediate activity
  should be migration to sub-device framework.

Tested:
- On OMAP3EVM + Multi-Media Daughter card
- NTSC and PAL standard
- S-Video and Composite input

TODO:
- Migration to sub-devide framework
- Support for Scaling and Cropping

Signed-off-by: Brijesh Jadav brijes...@ti.com
Signed-off-by: Hardik Shah hardik.s...@ti.com
Signed-off-by: Vaibhav Hiremath hvaib...@ti.com
---
 drivers/media/video/isp/isp.c |   85 --
 drivers/media/video/isp/isp.h |3 +-
 drivers/media/video/isp/ispccdc.c |  119 +---
 drivers/media/video/isp/ispccdc.h |9 ++
 drivers/media/video/omap34xxcam.c |  179 +---
 drivers/media/video/omap34xxcam.h |1 +
 6 files changed, 357 insertions(+), 39 deletions(-)

diff --git a/drivers/media/video/isp/isp.c b/drivers/media/video/isp/isp.c
index 54c839b..18313b3 100644
--- a/drivers/media/video/isp/isp.c
+++ b/drivers/media/video/isp/isp.c
@@ -215,6 +215,7 @@ struct isp_irq {
  * @resizer_input_height: ISP Resizer module input image height.
  * @resizer_output_width: ISP Resizer module output image width.
  * @resizer_output_height: ISP Resizer module output image height.
+ * @current_field: Current field for interlaced capture.
  */
 struct isp_module {
unsigned int isp_pipeline;
@@ -232,6 +233,7 @@ struct isp_module {
unsigned int resizer_input_height;
unsigned int resizer_output_width;
unsigned int resizer_output_height;
+   int current_field;
 };

 #define RAW_CAPTURE(isp)   \
@@ -258,6 +260,7 @@ static struct isp {
dma_addr_t tmp_buf;
size_t tmp_buf_size;
unsigned long tmp_buf_offset;
+   int bt656ifen;
struct isp_bufs bufs;
struct isp_irq irq;
struct isp_module module;
@@ -266,6 +269,8 @@ static struct isp {
 /* Structure for saving/restoring ISP module registers */
 static struct isp_reg isp_reg_list[] = {
{OMAP3_ISP_IOMEM_MAIN, ISP_SYSCONFIG, 0},
+   {OMAP3_ISP_IOMEM_MAIN, ISP_IRQ0ENABLE, 0},
+   {OMAP3_ISP_IOMEM_MAIN, ISP_IRQ1ENABLE, 0},
{OMAP3_ISP_IOMEM_MAIN, ISP_TCTRL_GRESET_LENGTH, 0},
{OMAP3_ISP_IOMEM_MAIN, ISP_TCTRL_PSTRB_REPLAY, 0},
{OMAP3_ISP_IOMEM_MAIN, ISP_CTRL, 0},
@@ -800,7 +805,10 @@ int isp_configure_interface(struct isp_interface_config 
*config)

isp_buf_init();

+   isp_obj.bt656ifen = 0;
switch (config-ccdc_par_ser) {
+   case ISP_PARLL_YUV_BT:
+   isp_obj.bt656ifen = 1;
case ISP_PARLL:
ispctrl_val |= ISPCTRL_PAR_SER_CLK_SEL_PARALLEL;
ispctrl_val |= config-u.par.par_clk_pol
@@ -885,8 +893,18 @@ static irqreturn_t omap34xx_isp_isr(int irq, void *_isp)

spin_lock_irqsave(bufs-lock, flags);
wait_hs_vs = bufs-wait_hs_vs;
-   if (irqstatus  HS_VS  bufs-wait_hs_vs)
-   bufs-wait_hs_vs--;
+   if (irqstatus  HS_VS) {
+   if (bufs-wait_hs_vs)
+   bufs-wait_hs_vs--;
+   else {
+   if (isp_obj.module.pix.field == V4L2_FIELD_INTERLACED) {
+   isp_obj.module.current_field =
+   (isp_reg_readl(OMAP3_ISP_IOMEM_CCDC,
+   ISPCCDC_SYN_MODE) 
+   ISPCCDC_SYN_MODE_FLDSTAT) ? 1 : 0;
+   }
+   }
+   }
spin_unlock_irqrestore(bufs-lock, flags);

spin_lock_irqsave(isp_obj.lock, irqflags);
@@ -898,6 +916,12 @@ static irqreturn_t omap34xx_isp_isr(int irq, void *_isp)
goto out_ignore_buff;

if (irqstatus  CCDC_VD0) {
+   if (isp_obj.module.pix.field == V4L2_FIELD_INTERLACED) {
+   /* Skip even fields */
+   if (isp_obj.module.current_field == 0) {
+   goto out_ignore_buff;
+   }
+   }
if (RAW_CAPTURE(isp_obj))
isp_buf_process(bufs);
if (!ispccdc_busy())
@@ -1046,6 +1070,11 @@ out_ignore_buff:
}
 #endif

+   /* TODO: Workaround suggested by Tony for spurious
+* interrupt issue
+   */
+   irqstatus = isp_reg_readl(OMAP3_ISP_IOMEM_MAIN, ISP_IRQ0STATUS);
+
return IRQ_HANDLED;
 }

@@ -1262,11 +1291,16 @@ static u32 isp_calc_pipeline(struct v4l2_pix_format 
*pix_input,
isp_obj.module.isp_pipeline = OMAP_ISP_CCDC;
ispccdc_request();
if (pix_input-pixelformat == V4L2_PIX_FMT_SGRBG10
-   

[PATCH 2/2 (V3)] OMAP3EVM Multi-Media Daughter Card Support

2009-03-19 Thread hvaibhav
From: Vaibhav Hiremath hvaib...@ti.com

This is Third version of OMAP3EVM Mulit-Media Daughter
Card support.

NOTE: Please note that, hence forth I will try to avoid submitting
  patches on top of V4L2-int framework. The next immediate activity
  would be migration to sub-device framework.

Fixes:
- Refreshed with Latest ISP-Camera patches
- Comments from 'Tony Lindgren'
- Comments from 'Alexey Klimov'
TODO:
- Need to migrate along with OMAP3-Camera
Tested:
- TVP5146 (BT656) decoder interface on top of
  Sakari's Git tree.
  http://git.gitorious.org/omap3camera/mainline.git

- Capturing the frame to file and validate

Signed-off-by: Brijesh Jadav brijes...@ti.com
Signed-off-by: Hardik Shah hardik.s...@ti.com
Signed-off-by: Vaibhav Hiremath hvaib...@ti.com
---
 arch/arm/mach-omap2/Kconfig   |8 +-
 arch/arm/mach-omap2/Makefile  |1 +
 arch/arm/mach-omap2/board-omap3evm-mmdc-v4l.c |  351 +
 arch/arm/mach-omap2/board-omap3evm-mmdc.h |   42 +++
 4 files changed, 401 insertions(+), 1 deletions(-)
 create mode 100644 arch/arm/mach-omap2/board-omap3evm-mmdc-v4l.c
 create mode 100644 arch/arm/mach-omap2/board-omap3evm-mmdc.h

diff --git a/arch/arm/mach-omap2/Kconfig b/arch/arm/mach-omap2/Kconfig
index 8fa650d..8dadf2a 100644
--- a/arch/arm/mach-omap2/Kconfig
+++ b/arch/arm/mach-omap2/Kconfig
@@ -113,7 +113,7 @@ config MACH_OMAP_LDP
bool OMAP3 LDP board
depends on ARCH_OMAP3  ARCH_OMAP34XX

-config MACH_OMAP2EVM
+config MACH_OMAP2EVM
bool OMAP 2530 EVM board
depends on ARCH_OMAP2  ARCH_OMAP24XX

@@ -125,6 +125,12 @@ config MACH_OMAP3EVM
bool OMAP 3530 EVM board
depends on ARCH_OMAP3  ARCH_OMAP34XX

+config MACH_OMAP3EVM_MMDC
+   bool OMAP 3530 EVM Multi-Media Daughter Card board
+   depends on MACH_OMAP3EVM
+   help
+ Set this if you've got a Multi-Media Daughter Card board.
+
 config MACH_OMAP3_BEAGLE
bool OMAP3 BEAGLE board
depends on ARCH_OMAP3  ARCH_OMAP34XX
diff --git a/arch/arm/mach-omap2/Makefile b/arch/arm/mach-omap2/Makefile
index 33b5aa8..715d0e4 100644
--- a/arch/arm/mach-omap2/Makefile
+++ b/arch/arm/mach-omap2/Makefile
@@ -58,6 +58,7 @@ obj-$(CONFIG_MACH_OMAP3EVM)   += board-omap3evm.o \
   mmc-twl4030.o \
   board-omap3evm-flash.o \
   twl4030-generic-scripts.o
+obj-$(CONFIG_MACH_OMAP3EVM_MMDC)   += board-omap3evm-mmdc-v4l.o
 obj-$(CONFIG_MACH_OMAP3_BEAGLE)+= board-omap3beagle.o \
   mmc-twl4030.o \
   twl4030-generic-scripts.o
diff --git a/arch/arm/mach-omap2/board-omap3evm-mmdc-v4l.c 
b/arch/arm/mach-omap2/board-omap3evm-mmdc-v4l.c
new file mode 100644
index 000..c00a731
--- /dev/null
+++ b/arch/arm/mach-omap2/board-omap3evm-mmdc-v4l.c
@@ -0,0 +1,351 @@
+/*
+ * arch/arm/mach-omap2/board-omap3evm-mmdc-v4l.c
+ *
+ * Driver for OMAP3 EVM Multi Media Daughter Card
+ *
+ * Copyright (C) 2008 Texas Instruments Inc
+ * Author: Vaibhav Hiremath hvaib...@ti.com
+ *
+ * Contributors:
+ * Anuj Aggarwal anuj.aggar...@ti.com
+ * Sivaraj R siva...@ti.com
+ *
+ * This package is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ */
+
+#include linux/init.h
+#include linux/i2c.h
+#include linux/gpio.h
+#include linux/videodev2.h
+
+#include mach/mux.h
+
+#include media/v4l2-int-device.h
+#include media/tvp514x.h
+
+/* Include V4L2 ISP-Camera driver related header file */
+#include ../drivers/media/video/omap34xxcam.h
+#include ../drivers/media/video/isp/ispreg.h
+
+#include board-omap3evm-mmdc.h
+
+#define MODULE_NAMEomap3evm-mmdc
+
+/* Macro Definitions */
+
+/* GPIO pins */
+#define GPIO134_SEL_TVP_Y  (134)
+#define GPIO54_SEL_EXP_CAM (54)
+#define GPIO136_SEL_CAM(136)
+
+/* board internal information (BEGIN) */
+
+/* I2C bus to which all I2C slave devices are attached */
+#define BOARD_I2C_BUSNUM   (3)
+
+/* I2C address of chips present in board */
+#define TVP5146_I2C_ADDR   (0x5D)
+
+#if defined(CONFIG_VIDEO_TVP514X) || defined(CONFIG_VIDEO_TVP514X_MODULE)
+#if defined(CONFIG_VIDEO_OMAP3) || 

RE: [PATCH 1/1] DSPBRIDGE: Set __GFP_RECLAIMABLE for reloading bridge module

2009-03-19 Thread Menon, Nishanth
 -Original Message-
 From: Hiroshi DOYU [mailto:hiroshi.d...@nokia.com]
 Sent: Thursday, March 19, 2009 11:38 AM
 To: Kanigeri, Hari
 Cc: Guzman Lugo, Fernando; ameya.pala...@nokia.com; Menon, Nishanth;
 Gupta, Ramesh; linux-omap@vger.kernel.org; Hiroshi DOYU
 Subject: [PATCH 1/1] DSPBRIDGE: Set __GFP_RECLAIMABLE for reloading bridge
 module
 
 To restart DSP system after DSP crash, reloading bridge module is
 necessary and a high order page allocation may fail after long use
 time because of memory fragmentation. To avoid this, mark it as
 reclaimable for immediate reloading.
 
 Signed-off-by: Hiroshi DOYU hiroshi.d...@nokia.com
Thanks Hiroshi.

Tested-by: Nishanth Menon n...@ti.com

Test h/w: SDP3430. - OMAP3430 ES3.0

Test iteration:
insmod  ./bridgedriver.ko shm_size=0x40 phys_mempool_base=0 
base_img=/lib/dsp/baseimage.dof
rmmod bridgedriver
--

Num iterations: 25K

Regards,
Nishanth Menon
--
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 1/1] DSPBRIDGE Fix flush_workque

2009-03-19 Thread Menon, Nishanth
 -Original Message-
 From: Gupta, Ramesh
 Sent: Thursday, March 19, 2009 6:25 AM
 To: linux-omap@vger.kernel.org
 Cc: Menon, Nishanth; Kanigeri, Hari; Varide, Nischal; Guzman Lugo,
 Fernando
 Subject: [PATCH 1/1] DSPBRIDGE Fix flush_workque
 
 From a8aabc6233329998d0ac62be42ade5a77f03ef2a Mon Sep 17 00:00:00 2001
 From: Ramesh Gupta x0023...@ti.com
 Date: Thu, 19 Mar 2009 09:56:30 +0530
 Subject: [PATCH 1/1] DSPBRIDGE Fix flush_workque
 
 Observed some crash with flush_workque after
 multiple load and unload.
 Replaced flush_workque with destroy_workque
 
 Signed-off-by: Varide Nischal x0102...@ti.com
Thanks Ramesh.
Tested-by: Nishanth Menon n...@ti.com

Test h/w: SDP3430. - OMAP3430 ES3.0 

Test iteration: (bootargs mem=122M)
./bridgedriver.ko phys_mempool_base=0x87A0 phys_mempool_size=0x0060  
base_img=dsp/baseimage.dof
rmmod bridgedriver
--

Num iterations: 30K

Regards,
Nishanth Menon
--
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 B 2/3] tidspbridge: cleanup and remove HW_MMU_TLBFlushAll

2009-03-19 Thread Felipe Contreras
On Wed, Mar 18, 2009 at 3:26 AM, Felipe Contreras
felipe.contre...@gmail.com wrote:
 From: Felipe Contreras felipe.contre...@nokia.com

 It doesn't make sense to have layers and layers of constants and defines
 to turn one bit on.

 Signed-off-by: Felipe Contreras felipe.contre...@nokia.com
 ---

I thought a bit more about this:

 +static inline void tlb_flush_all(const u32 base)
 +{
 +    __raw_writeb(__raw_readb(base + MMU_GFLUSH) | 1, base + MMU_GFLUSH);
 +}
 +

Originally it was the equivalent of __raw_writel(__raw_readl but since
we are dealing only with one bit I chose 'b' instead of 'l'. Is that
correct?

-- 
Felipe Contreras
--
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 1/1] DSPBRIDGE: Set __GFP_RECLAIMABLE for reloading bridge module

2009-03-19 Thread Hiroshi DOYU
To restart DSP system after DSP crash, reloading bridge module is
necessary and a high order page allocation may fail after long use
time because of memory fragmentation. To avoid this, mark it as
reclaimable for immediate reloading.

Signed-off-by: Hiroshi DOYU hiroshi.d...@nokia.com
---
 drivers/dsp/bridge/services/mem.c |   11 ---
 1 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/drivers/dsp/bridge/services/mem.c 
b/drivers/dsp/bridge/services/mem.c
index 0a10304..3661fb1 100644
--- a/drivers/dsp/bridge/services/mem.c
+++ b/drivers/dsp/bridge/services/mem.c
@@ -357,9 +357,14 @@ void *MEM_AllocPhysMem(u32 cBytes, u32 ulAlign, OUT u32 
*pPhysicalAddress)
if (extPhysMemPoolEnabled) {
pVaMem = MEM_ExtPhysMemAlloc(cBytes, ulAlign,
(u32 *)paMem);
-   } else
-   pVaMem = dma_alloc_coherent(NULL, cBytes, paMem,
-  (in_atomic()) ? GFP_ATOMIC : 
GFP_KERNEL);
+   } else {
+   gfp_t gfp = (in_atomic()) ? GFP_ATOMIC : GFP_KERNEL;
+
+   /* To ensure allocation at immediate reloading */
+   gfp |= __GFP_RECLAIMABLE;
+
+   pVaMem = dma_alloc_coherent(NULL, cBytes, paMem, gfp);
+   }
if (pVaMem == NULL) {
*pPhysicalAddress = 0;
GT_1trace(MEM_debugMask, GT_6CLASS,
-- 
1.5.6.3

--
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: [PATCHv2] OMAP: McBSP: Always maintain McBSP fclk while active

2009-03-19 Thread Jarkko Nikula
On Wed, 18 Mar 2009 12:31:02 +0100
Nurkkala Eero.An (EXT-Offcode/Oulu) ext-eero.nurkk...@nokia.com
wrote:

 From: Eero Nurkkala ext-eero.nurkk...@nokia.com
 
 McBSP fclk must be maintained for the duration of
 audio playback or recording. Otherwise the fclk
 may get autogated when the PER96M clk is no longer
 required by other modules. This results in audio
 activity being hang. Also, if the McBSP is run
 as a slave, it is possible that words are
 randomly missed from the playback. Fix all this
 phenomenom by enabling the McBSP fclk
 clockactivity bit for the entire active duration
 of the McBSP usage.
 
 Signed-off-by: Eero Nurkkala ext-eero.nurkk...@nokia.com
 ---
...
   w = OMAP_MCBSP_READ(mcbsp-io_base, SYSCON);
 - w = ~(ENAWAKEUP | SIDLEMODE(0x03));
 - w |= (ENAWAKEUP | SIDLEMODE(0x02));
 + w = ~(ENAWAKEUP | SIDLEMODE(0x03) | CLOCKACTIVITY
 (0x03));
 + w |= (ENAWAKEUP | SIDLEMODE(0x02) | CLOCKACTIVITY
 (0x02));

Based on updated TRM info:
http://marc.info/?l=linux-omapm=123674373120880w=2

Acked-by: Jarkko Nikula jarkko.nik...@nokia.com
--
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


CAM / V4L2: OMAP3 camera issues

2009-03-19 Thread Opel Fahrer

Hi everybody,

I just wanted to ask if someone of you recently had a look at the  camera 
driver for the ov3640 sensor included in the omap zoom 1 platform. As I'm a 
total noob in writing drivers I'm searching for someone to help me to get this 
device to work the right way because currently it's really a mess. 
Unfortunately our future work with the omap zoom heavily relies on having 
camera images in reasonable resolutions and reasonable quality, so for us there 
is no way around fixing at least some of these points:

As far as I have seen there are several issues. The main problem is that it is 
only possible to use a very restricted number of image formats. One can use 
Bayer images in 1024x768 up to 2048x1536 pixels, and using the Bayer format is 
the only way to get RGB images actually. The much more appreciated YUYV and 
YVYU formats seem to be broken somehow, so nobody is known to me who was able 
to decode such an image into a reasonable color image yet. Lastly, a problem is 
that there is no way to control the exposure of the sensor, such that the 
images are all heavily over-exposed and there is no way known to me to change 
any setting to use auto-exposure (the feature is reported to be not available 
by v4l2). 

I'd be happy if someone could help me in fixing some of these problems.
Regards
Clemens



  

--
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


test

2009-03-19 Thread Aguirre Rodriguez, Sergio Alberto
test
--
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: test

2009-03-19 Thread Menon, Nishanth
 -Original Message-
 From: linux-omap-ow...@vger.kernel.org [mailto:linux-omap-
 ow...@vger.kernel.org] On Behalf Of Aguirre Rodriguez, Sergio Alberto
 Sent: Thursday, March 19, 2009 4:51 PM
 To: linux-omap@vger.kernel.org
 Subject: test
Aaah,
Few folks hitting:
Generating server: snip

linux-omap@vger.kernel.org
vger.kernel.org #vger.kernel.org #5.7.1 SMTP; 550 5.7.1 Content-Policy 
accept-into-freezer-1 msg: Bayes Statistical Bogofilter considers this message 
SPAM. BF:S 1 In case you disagree, send the ENTIRE message plus this error 
message to postmas...@vger.kernel.org ; S1758343AbZCRQ3X #SMTP#

Anyone seen similar issues recently?

Regards,
Nishanth Menon
--
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: CAM / V4L2: OMAP3 camera issues

2009-03-19 Thread Aguirre Rodriguez, Sergio Alberto
Hi Clemens,

I'm the one responsible for this driver, and the features that are added by now 
are pretty basical.

Currently I'm a bit absorbed by other higher priority tasks, so I haven’t been 
able to update the driver as fast as I would want.

We are working towards enhancing the driver so most of the features be 
available, but if you have some enhancement suggestion, I'll invite you to do 
so.

I appreciate your time.

Regards,
Sergio

 -Original Message-
 From: linux-omap-ow...@vger.kernel.org [mailto:linux-omap-
 ow...@vger.kernel.org] On Behalf Of Opel Fahrer
 Sent: Thursday, March 19, 2009 8:24 AM
 To: linux-omap@vger.kernel.org
 Subject: CAM / V4L2: OMAP3 camera issues
 
 
 Hi everybody,
 
 I just wanted to ask if someone of you recently had a look at the  camera
 driver for the ov3640 sensor included in the omap zoom 1 platform. As I'm
 a total noob in writing drivers I'm searching for someone to help me to
 get this device to work the right way because currently it's really a mess.
 Unfortunately our future work with the omap zoom heavily relies on having
 camera images in reasonable resolutions and reasonable quality, so for us
 there is no way around fixing at least some of these points:
 
 As far as I have seen there are several issues. The main problem is that
 it is only possible to use a very restricted number of image formats. One
 can use Bayer images in 1024x768 up to 2048x1536 pixels, and using the
 Bayer format is the only way to get RGB images actually. The much more
 appreciated YUYV and YVYU formats seem to be broken somehow, so nobody is
 known to me who was able to decode such an image into a reasonable color
 image yet. Lastly, a problem is that there is no way to control the
 exposure of the sensor, such that the images are all heavily over-exposed
 and there is no way known to me to change any setting to use auto-exposure
 (the feature is reported to be not available by v4l2).
 
 I'd be happy if someone could help me in fixing some of these problems.
 Regards
 Clemens
 
 
 
 
 
 --
 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 02/12] ARM: OMAP3: Store reboot mode in scratchpad on OMAP34xx

2009-03-19 Thread Tony Lindgren
* Russell King - ARM Linux li...@arm.linux.org.uk [090318 17:08]:
 On Wed, Mar 18, 2009 at 01:10:04PM -0700, Tony Lindgren wrote:
  * Russell King - ARM Linux li...@arm.linux.org.uk [090318 12:26]:
   On Wed, Mar 18, 2009 at 11:28:06AM -0700, Tony Lindgren wrote:
* Russell King - ARM Linux li...@arm.linux.org.uk [090316 15:22]:
 On Mon, Mar 16, 2009 at 07:40:24PM +0200, Juha Yrjola wrote:
  Russell King - ARM Linux wrote:
 
  Right.  You are aware that there is already a mechanism for doing 
  this
  in the generic kernel (obviously not)?
 
  I am. Unfortunately, glibc fails to support this mechanism, as you 
  say.  
  I didn't want to start making such intrusive changes for our 
  trivial 
  need.
 
 Yes, glibc sucks with that - they hide the Linux reboot syscall.
 Luckily, it is accessible via the syscall() interface:
 
 #include linux/reboot.h
 
 int sys_reboot(const char *cmd)
 {
   return syscall(SYS_reboot, LINUX_REBOOT_MAGIC1, 
 LINUX_REBOOT_MAGIC2C,
   LINUX_REBOOT_CMD_RESTART2, cmd);
 }
 
  sys_reboot() with LINUX_REBOOT_CMD_RESTART2 takes a string in 
  addition
  to the standard parameters.  This string is passed into 
  machine_restart()
  which we currently ignore.  If LINUX_REBOOT_CMD_RESTART is used, 
  this
  string is NULL.
 
  We could change machine_restart() to pass this parameter through to
  arm_pm_restart() and ultimately down to arch_reset().
 
  Sure. With RESTART2, I could've even used the reboot notifier chain 
  with  
  an OMAP3-specific driver to store the string.
 
 The notifier chain is called in any case.
 
  Are you suggesting to get rid of reboot_mode altogether? If not, 
  could  
  we still have the sysfs mechanism? A one-character reboot_mode 
  would be  
  plenty enough for us.
 
 No, reboot mode tells _how_ to perform the reboot - whether that be
 by hardware reset, gpio reset or a soft call via the reset address.
 It's not supposed to tell the boot loader what to do.

So if the reboot mode can't be used for this.. Should we change Juha's
sysfs interface patch to store something else like bootloader_mode?

I guess we cannot use kexec for this either?
   
   Why not use the mechanism that's already there as I've already pointed
   out?
  
  Sorry I misunderstood, I thought you did not want to use reboot_mode
  for this at all..
 
 I don't want to use reboot_mode for this.  machine_restart() and the
 reboot syscall has a way of passing a string to the platform specific
 code, and I'm suggesting that if you want the boot loader to do some
 magic, that's the way to do it.  Use the 'cmd' argument provided to
 arch_reset() by the patch below - this will either be NULL if the
 standard reboot call is used, or a string if the alternative version
 is used.
 
  To recap, so we change machine_restart() like you described above, and then
  this patch is still valid, except to update the description.
 
 No, you've still got the wrong end of the stick.

snip

 diff --git a/arch/arm/include/asm/system.h b/arch/arm/include/asm/system.h
 index 811be55..0a0d49a 100644
 --- a/arch/arm/include/asm/system.h
 +++ b/arch/arm/include/asm/system.h
 @@ -97,8 +97,8 @@ extern void __show_regs(struct pt_regs *);
  extern int cpu_architecture(void);
  extern void cpu_init(void);
  
 -void arm_machine_restart(char mode);
 -extern void (*arm_pm_restart)(char str);
 +void arm_machine_restart(char mode, const char *cmd);
 +extern void (*arm_pm_restart)(char str, const char *cmd);
  
  #define UDBG_UNDEFINED   (1  0)
  #define UDBG_SYSCALL (1  1)
 diff --git a/arch/arm/kernel/process.c b/arch/arm/kernel/process.c
 index af377c7..2de14e2 100644
 --- a/arch/arm/kernel/process.c
 +++ b/arch/arm/kernel/process.c
 @@ -83,7 +83,7 @@ static int __init hlt_setup(char *__unused)
  __setup(nohlt, nohlt_setup);
  __setup(hlt, hlt_setup);
  
 -void arm_machine_restart(char mode)
 +void arm_machine_restart(char mode, const char *cmd)
  {
   /*
* Clean and disable cache, and turn off interrupts
 @@ -100,7 +100,7 @@ void arm_machine_restart(char mode)
   /*
* Now call the architecture specific reboot code.
*/
 - arch_reset(mode);
 + arch_reset(mode, cmd);
  
   /*
* Whoops - the architecture was unable to reboot.
 @@ -120,7 +120,7 @@ EXPORT_SYMBOL(pm_idle);
  void (*pm_power_off)(void);
  EXPORT_SYMBOL(pm_power_off);
  
 -void (*arm_pm_restart)(char str) = arm_machine_restart;
 +void (*arm_pm_restart)(char str, const char *cmd) = arm_machine_restart;
  EXPORT_SYMBOL_GPL(arm_pm_restart);
  
  
 @@ -195,9 +195,9 @@ void machine_power_off(void)
   pm_power_off();
  }
  
 -void machine_restart(char * __unused)
 +void machine_restart(char *cmd)
  {
 - arm_pm_restart(reboot_mode);
 + 

Re: [PATCH 00/86] OMAP2/3: clock sync with linux-omap

2009-03-19 Thread Tony Lindgren
* Paul Walmsley p...@pwsan.com [090319 01:57]:
 Hello Russell,
 
 On Thu, 12 Mar 2009, Kevin Hilman wrote:
 
  This is the series of patches contained in the 'omap-clks3' branch of
  Russell King's git repository[1].  Posted on behalf of Russell who
  had some mail issues in first attempt, and then ran of out time.
  
  This series is proposed to be merged into the next merge window.
  
  Comments to the list appreciated.
 
 I've spent some time reviewing these patches.
 
 Many of the changes you've implemented are an improvement over the 
 previous code.  Some of the patches would ordinarily prompt further 
 comments and revision, but the benefit of merging these patches upstream 
 in this merge window exceeds the benefit of further revision.
 
 So my preference would be to see this current set sent upstream for this 
 merge window.

Right on, looks good to me too.

Acked-by: Tony Lindgren t...@atomide.com

--
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


AW: CAM / V4L2: OMAP3 camera issues

2009-03-19 Thread Opel Fahrer

Hi Sergio,

thanks for your fast reply, it's good to hear that someone already has the 
issues in mind that I'm talking of. As I mentioned before I haven't done any 
driver development by now, but maybe it's also a good chance to get a little 
bit into that now. Currently the one and only real problem with the driver at 
this time is that the YUYV and YVYU support seems to be broken - it's hard to 
say because of the heavy over-exposure, but I guess there is something wrong in 
a conversion or something simple like that. Fixing only this issue (and maybe 
the auto-exposure) would give us everything we need. However, as soon as you 
have some time to take a look at that feel free to contact me such that we can 
further talk about these things.

Regards
Clemens



- Ursprüngliche Mail 
Von: Aguirre Rodriguez, Sergio Alberto saagui...@ti.com
An: Opel Fahrer opelfahre...@yahoo.de; linux-omap@vger.kernel.org 
linux-omap@vger.kernel.org
Gesendet: Donnerstag, den 19. März 2009, 16:02:48 Uhr
Betreff: RE: CAM / V4L2: OMAP3 camera issues

Hi Clemens,

I'm the one responsible for this driver, and the features that are added by now 
are pretty basical.

Currently I'm a bit absorbed by other higher priority tasks, so I haven’t 
been able to update the driver as fast as I would want.

We are working towards enhancing the driver so most of the features be 
available, but if you have some enhancement suggestion, I'll invite you to do 
so.

I appreciate your time.

Regards,
Sergio

 -Original Message-
 From: linux-omap-ow...@vger.kernel..org [mailto:linux-omap-
 ow...@vger.kernel.org] On Behalf Of Opel Fahrer
 Sent: Thursday, March 19, 2009 8:24 AM
 To: linux-o...@vger.kernel..org
 Subject: CAM / V4L2: OMAP3 camera issues
 
 
 Hi everybody,
 
 I just wanted to ask if someone of you recently had a look at the  camera
 driver for the ov3640 sensor included in the omap zoom 1 platform. As I'm
 a total noob in writing drivers I'm searching for someone to help me to
 get this device to work the right way because currently it's really a mess.
 Unfortunately our future work with the omap zoom heavily relies on having
 camera images in reasonable resolutions and reasonable quality, so for us
 there is no way around fixing at least some of these points:
 
 As far as I have seen there are several issues. The main problem is that
 it is only possible to use a very restricted number of image formats. One
 can use Bayer images in 1024x768 up to 2048x1536 pixels, and using the
 Bayer format is the only way to get RGB images actually. The much more
 appreciated YUYV and YVYU formats seem to be broken somehow, so nobody is
 known to me who was able to decode such an image into a reasonable color
 image yet. Lastly, a problem is that there is no way to control the
 exposure of the sensor, such that the images are all heavily over-exposed
 and there is no way known to me to change any setting to use auto-exposure
 (the feature is reported to be not available by v4l2).
 
 I'd be happy if someone could help me in fixing some of these problems.
 Regards
 Clemens
 
 
 
 
 
 --
 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 

N‹§²æìr¸›yúèšØb²X¬¶Ç§vØ^–)Þº{.nÇ+‰·¥Š{±¢f©Š{ayºÊ‡Ú™ë,j­¢f£¢·hš‹àz¹®w¥¢¸¢·¦j:+v‰¨ŠwèjØm¶Ÿÿ¾«‘êçzZ+ƒùšŽŠÝ¢j�ú!¶i


  

--
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: [APPLIED] [PATCH omap-fixes v2] OMAP2/3: GPIO: do not attempt to wake-enable

2009-03-19 Thread Tony Lindgren
* Kevin Hilman khil...@deeprootsystems.com [090319 09:44]:
 Tony Lindgren t...@atomide.com writes:
 
  This patch has been applied to the linux-omap
  by youw fwiendly patch wobot.
 
  Commit: 2ac496a208895c925aec1774a873b5b096b2d3f0
 
  PatchWorks
  http://patchwork.kernel.org/patch/10719/
 
  Git
  http://git.kernel.org/?p=linux/kernel/git/tmlind/linux-omap-2.6.git;a=commit;h=2ac496a208895c925aec1774a873b5b096b2d3f0
 
 Tony, 
 
 $SUBJECT on this commit seems to have been a bit mangled leaving
 a not very clear commit log/history.

Heh looks like bad html parsing :) I'll revert and re-apply.

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 2.6.29-rc8 regulator-next] regulator: init fixes (v4)

2009-03-19 Thread Mark Brown
On Wed, Mar 18, 2009 at 02:14:14PM -0700, David Brownell wrote:
 On Wednesday 18 March 2009, Mark Brown wrote:

  I think it's more that I'm viewing the use count as being useful
  information which the API can take advantage of (do any consumers
  actually want this on right now?).

 In that case, I don't understand why you didn't like
 the previous versions of this patch ... which just
 forced the regulator off (at init time) if that count
 was zero.

There are two issues which I raised in response to that patch.  One is
that this is a fairly substantial interface change which will affect
existing constraints without warning and will therefore break people
using the current code.  At the minute you can't rely on boot_on being
set for any regulator which is enabled when Linux starts.  This is the
most serious issue - a quick survey leads me to expect that turning off
regulators without boot_on would break most existing systems somehow.

The other is that I'm fairly sure that we'll end up running into systems
where the setup at startup is not fixed and forcing the regulator state
immediately on regulator registration is likely to cause problems
dealing gracefully with such systems.  You addressed that by adding
devmode, though ideally that should have a clearer name.

  I think we should be able to handle 
  this without changing the use count and that this is preferable because
  otherwise we make more work with shared consumers, which should be the
  simplest case.

 That's what the earlier versions of this patch did,
 but you rejected that approach ... patches against
 both mainline (which is where the bug hurts TODAY),
 and against regulator-next.

I have given you two suggestions which will allow your MMC driver to use
mainline without impacting other drivers.  I've also provided some
suggestions for how we could introduce changes in the regulator core to
support this better.

 Also, I don't see why you'd think a shared consumer
 would be the simplest, given all the special rules
 that you've already noted as only needing to kick in
 for those cases.

Simplest for the consumers - they just need to do a get followed by
basic reference counting, they don't need to (and can't, really) worry
about anything else.

  The trick is getting the non-shared regulators into sync with the
  internal status,

 I don't see why that should need any tricks.  At
 init time you have that state and the regulator;
 and you know there are no consumers.  Put it into

Realistically we don't have that information at the minute.  For the
most part we have the physical state and we may also have some
constraint information but we can't rely on the constraint information
right now.  The fact that we can't rely on the constraint information
means that we can't tell if a regulator is enabled because something is
using it at the minute or if it's just been left on because that was the
default or similar.

 a self-consistent state at that time ... done.

 There are really only two ways to make that state
 self-consistent.  And you have rejected both.

Both of the approaches you have suggested change the interfaces and
cause problems for existing users with no warning to allow them to
transition.  Changing the reference count does avoid the problems with
powering things off but it causes other problems in doing so, ones that
look harder to resolve.

When looking at bringing the use count in sync with the physical state
during startup we have to deal with the fact that we can't currently
rely on having information about the desired state of the hardware at
the time the regulator is registered.  We need to make an API change of
some kind to get that information.

  during init. ?I think either using regulator_force_disable() or saying

 The force_disable() thing looks to me like an API design
 botch.  As you said at one point, it has no users.  And
 since the entire point is to bypass the entire usecount
 scheme ... it'd be much better to remove it.

As the documentation says it was originally added for error handling
cases where there is a danger of hardware damage.  In that situation
you really do want to power off immediately without reference to any
other state.

  that the consmer wants exclusive access on get and then bumping the use
  count for it if the regulator is already enabled ought to cover it.
  I've not thought the latter option through fully, though.

 The problem I have with your approach here is that you
 have rejected quite a few alternative bugfixes applying
 to a common (and simple!!) configuration, but you haven't
 provided an alternative that can work for MMC init.

I have given you a number of suggestions which should work for MMC init.
These are:

 - Have the MMC style consumers use regulator_force_disable() to disable
   an enabled regulator on startup.
 - Have the MMC style consumers do an enable()/disable() pair to disable
   an enabled regulator on startup.
 - Changing the way the new behaviours are 

Re: [APPLIED] [PATCH omap-fixes v2] OMAP2/3: GPIO: do not attempt to wake-enable

2009-03-19 Thread Felipe Balbi
On Thu, Mar 19, 2009 at 05:53:35PM +0100, Tony Lindgren wrote:
 * Kevin Hilman khil...@deeprootsystems.com [090319 09:44]:
  Tony Lindgren t...@atomide.com writes:
  
   This patch has been applied to the linux-omap
   by youw fwiendly patch wobot.
  
   Commit: 2ac496a208895c925aec1774a873b5b096b2d3f0
  
   PatchWorks
   http://patchwork.kernel.org/patch/10719/
  
   Git
   http://git.kernel.org/?p=linux/kernel/git/tmlind/linux-omap-2.6.git;a=commit;h=2ac496a208895c925aec1774a873b5b096b2d3f0
  
  Tony, 
  
  $SUBJECT on this commit seems to have been a bit mangled leaving
  a not very clear commit log/history.
 
 Heh looks like bad html parsing :) I'll revert and re-apply.

why do you even try to parse the html ?? patchworks hold it in mbox
format:

http://patchwork.kernel.org/patch/10719/mbox/

-- 
balbi
--
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: [APPLIED] [PATCH omap-fixes v2] OMAP2/3: GPIO: do not attempt to wake-enable

2009-03-19 Thread Tony Lindgren
* Tony Lindgren t...@atomide.com [090319 09:54]:
 * Kevin Hilman khil...@deeprootsystems.com [090319 09:44]:
  Tony Lindgren t...@atomide.com writes:
  
   This patch has been applied to the linux-omap
   by youw fwiendly patch wobot.
  
   Commit: 2ac496a208895c925aec1774a873b5b096b2d3f0
  
   PatchWorks
   http://patchwork.kernel.org/patch/10719/
  
   Git
   http://git.kernel.org/?p=linux/kernel/git/tmlind/linux-omap-2.6.git;a=commit;h=2ac496a208895c925aec1774a873b5b096b2d3f0
  
  Tony, 
  
  $SUBJECT on this commit seems to have been a bit mangled leaving
  a not very clear commit log/history.
 
 Heh looks like bad html parsing :) I'll revert and re-apply.

Seems like a bug in pwclient..

$ pwclient get 10719

Shows the subject in the patch as:

Subject: [omap-fixes,
v2] OMAP2/3: GPIO: do not attempt to wake-enable GPIO bank IRQ

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: [APPLIED] [PATCH omap-fixes v2] OMAP2/3: GPIO: do not attempt to wake-enable

2009-03-19 Thread Felipe Balbi
On Thu, Mar 19, 2009 at 10:16:33AM -0700, Tony Lindgren wrote:
 Seems like a bug in pwclient..
 
 $ pwclient get 10719
 
 Shows the subject in the patch as:
 
 Subject: [omap-fixes,
 v2] OMAP2/3: GPIO: do not attempt to wake-enable GPIO bank IRQ

$ curl http://patchwork.kernel.org/patch/10719/mbox | git am -s

would do the trick :-p

-- 
balbi
--
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] twl4030-regulator: expose VPLL2

2009-03-19 Thread Liam Girdwood
On Mon, 2009-03-16 at 15:51 +, Mark Brown wrote:
 On Fri, Mar 13, 2009 at 05:54:54PM -0700, David Brownell wrote:
  From: David Brownell dbrown...@users.sourceforge.net
  
  Add VPLL2 to the set of twl4030-family regulators exposed for
  use by various drivers.  It's commonly used to power the digital
  video outputs (e.g. LCD or DVI displays) on OMAP3 systems.
  
  Signed-off-by: David Brownell dbrown...@users.sourceforge.net
 
 Acked-by: Mark Brown broo...@opensource.wolfsonmicro.com

Samuel, I've applied this to the regulator tree as the part that touches
mfd is relatively minor and twl4030 specific (doesn't touch core).

Thanks

Liam

--
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 2.6.29-rc8 regulator-next] regulator: init fixes (v4)

2009-03-19 Thread Mark Brown
On Wed, Mar 18, 2009 at 02:02:14PM -0700, David Brownell wrote:

 Huh?  $SUBJECT patch hasn't merged.  How could you
 have backed it out??

Sorry - another patch introducing a version of the same issue.  Your
patch:

http://git.kernel.org/?p=linux/kernel/git/lrg/voltage-2.6.git;a=commit;h=67130ef073299cc7299d3ffa344122959e97753c

bumped the refcount for boot_on regulators.  This patch:

http://git.kernel.org/?p=linux/kernel/git/lrg/voltage-2.6.git;a=commit;h=504e7d7e42fb3a58809946770ff5e07cc9d52dbf

backs out that change only.  This was my bad on the review.
--
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 B 3/3] tidspbridge: decreate timeout to a saner value

2009-03-19 Thread Guzman Lugo, Fernando


Hi Felipe,

I am seeing with this patch because of the timeout:

DSP device detected !!
DSPProcessor_Attach succeeded.
dspbridge: timed out waiting for mailbox
dspbridge: timed out waiting for mailbox
dspbridge: timed out waiting for mailbox
dspbridge: timed out waiting for mailbox
dspbridge: timed out waiting for mailbox
dspbridge: timed out waiting for mailbox
dspbridge: timed out waiting for mailbox
dspbridge: timed out waiting for mailbox
dspbridge: timed out waiting for mailbox
dspbridge: timed out waiting for mailbox
dspbridge: timed out waiting for mailbox
...

Did you see any issue when you change to 1ms? Maybe we can use a bigger timeout.

Please let me know your comments.

Regards,
Fernando.

-Original Message-
From: Felipe Contreras [mailto:felipe.contre...@gmail.com] 
Sent: Tuesday, March 17, 2009 7:27 PM
To: linux-omap@vger.kernel.org
Cc: Kanigeri, Hari; Hiroshi DOYU; Ameya Palande; Guzman Lugo, Fernando; Felipe 
Contreras
Subject: [PATCH B 3/3] tidspbridge: decreate timeout to a saner value

From: Felipe Contreras felipe.contre...@nokia.com

Signed-off-by: Felipe Contreras felipe.contre...@nokia.com
---
 drivers/dsp/bridge/wmd/tiomap_sm.c |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/dsp/bridge/wmd/tiomap_sm.c 
b/drivers/dsp/bridge/wmd/tiomap_sm.c
index 1b31162..535dc13 100644
--- a/drivers/dsp/bridge/wmd/tiomap_sm.c
+++ b/drivers/dsp/bridge/wmd/tiomap_sm.c
@@ -144,7 +144,7 @@ DSP_STATUS CHNLSM_InterruptDSP2(struct WMD_DEV_CONTEXT 
*pDevContext,
 
pDevContext-dwBrdState = BRD_RUNNING;
}
-   timeout = jiffies + msecs_to_jiffies(10);
+   timeout = jiffies + msecs_to_jiffies(1);
while (fifo_full((void __iomem *) resources.dwMboxBase, 0)) {
if (time_after(jiffies, timeout)) {
printk(KERN_ERR dspbridge: timed out waiting for 
mailbox\n);
-- 
1.6.2.1.287.g9a8be


--
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 B 3/3] tidspbridge: decreate timeout to a saner value

2009-03-19 Thread Felipe Contreras
On Thu, Mar 19, 2009 at 10:42 PM, Guzman Lugo, Fernando x0095...@ti.com wrote:


 Hi Felipe,

        I am seeing with this patch because of the timeout:

 DSP device detected !!
 DSPProcessor_Attach succeeded.
 dspbridge: timed out waiting for mailbox
 dspbridge: timed out waiting for mailbox
 dspbridge: timed out waiting for mailbox
 dspbridge: timed out waiting for mailbox
 dspbridge: timed out waiting for mailbox
 dspbridge: timed out waiting for mailbox
 dspbridge: timed out waiting for mailbox
 dspbridge: timed out waiting for mailbox
 dspbridge: timed out waiting for mailbox
 dspbridge: timed out waiting for mailbox
 dspbridge: timed out waiting for mailbox
 ...

 Did you see any issue when you change to 1ms? Maybe we can use a bigger 
 timeout.

Did you apply patch #1 of the B series?

I didn't see any timeout on my tests.

-- 
Felipe Contreras
--
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 B 3/3] tidspbridge: decreate timeout to a saner value

2009-03-19 Thread Guzman Lugo, Fernando

Yes, I applied this; in fact I have applied all the patches. If I increase the 
timeout there are no problems. The test I run creates 4 process and each one 
does several a lot of calls to InputChnl and OutputChnl, so I think this test 
is using the mailbox a lot and would be better a bigger timeout. What do you 
think?

Regards,
Fernando.
-Original Message-
From: Felipe Contreras [mailto:felipe.contre...@gmail.com] 
Sent: Thursday, March 19, 2009 3:04 PM
To: Guzman Lugo, Fernando
Cc: linux-omap@vger.kernel.org; Kanigeri, Hari; Hiroshi DOYU; Ameya Palande; 
Felipe Contreras
Subject: Re: [PATCH B 3/3] tidspbridge: decreate timeout to a saner value

On Thu, Mar 19, 2009 at 10:42 PM, Guzman Lugo, Fernando x0095...@ti.com wrote:


 Hi Felipe,

        I am seeing with this patch because of the timeout:

 DSP device detected !!
 DSPProcessor_Attach succeeded.
 dspbridge: timed out waiting for mailbox
 dspbridge: timed out waiting for mailbox
 dspbridge: timed out waiting for mailbox
 dspbridge: timed out waiting for mailbox
 dspbridge: timed out waiting for mailbox
 dspbridge: timed out waiting for mailbox
 dspbridge: timed out waiting for mailbox
 dspbridge: timed out waiting for mailbox
 dspbridge: timed out waiting for mailbox
 dspbridge: timed out waiting for mailbox
 dspbridge: timed out waiting for mailbox
 ...

 Did you see any issue when you change to 1ms? Maybe we can use a bigger 
 timeout.

Did you apply patch #1 of the B series?

I didn't see any timeout on my tests.

-- 
Felipe Contreras

--
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 B 3/3] tidspbridge: decreate timeout to a saner value

2009-03-19 Thread Felipe Contreras
On Thu, Mar 19, 2009 at 11:19 PM, Guzman Lugo, Fernando x0095...@ti.com wrote:

 Yes, I applied this; in fact I have applied all the patches. If I increase 
 the timeout there are no problems. The test I run creates 4 process and each 
 one does several a lot of calls to InputChnl and OutputChnl, so I think this 
 test is using the mailbox a lot and would be better a bigger timeout. What do 
 you think?

How fast are these messages sent? Can you track down which functions
are calling CHNLSM_InterruptDSP2 and making these timeouts happen.

I think it's safe to leave the timeout at 10, but that means it's
possible the code will be busy-looping up to 10 ms which will increase
the CPU load. Somebody from Nokia (Siarhei?) suggested to idle-wait
for the mbox empty irq, I think that's the best way to implement this,
but at least for the use cases I'm interested in (video
encoding/decoding) timeouts don't seem to be an issue anymore.

-- 
Felipe Contreras
--
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 1/1] Back-light class driver support for OMAP

2009-03-19 Thread David Brownell
On Wednesday 18 March 2009, hvaib...@ti.com wrote:
 +
 +#if defined(CONFIG_TWL4030_CORE)
 +   twl4030_i2c_write_u8(TWL4030_MODULE_LED, 0x11, TWL4030_LED_EN);
 +   twl4030_i2c_write_u8(TWL4030_MODULE_PWMA, c, TWL_PWMA_PWMAOFF);
 +#endif

Hmm, I think I'm going to have to get off my butt and
send in the PWM patches I have ... they work for the
PWMs on the two LED outputs, but not yet for the two
other PWM-equipped pins (GPIO-6, GPIO-7)

- Dave
--
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 B 3/3] tidspbridge: decreate timeout to a saner value

2009-03-19 Thread Guzman Lugo, Fernando



This is a stress test, it creates 4 processes and each process will do 1000 
transfers using streams, so the trace is:

STRM_Issue -  WMD_CHNL_AddIOReq  - IO_Schedule

IO_Schedule schedules a call to IO_DPC using task let.

IO_DPC - IO_DispatchChnl - InputChnl - CHNLSM_InterruptDSP2

Also  IO_DispatchChnl - OutputChnl - CHNLSM_InterruptDSP2.


As we can call a lot CHNLSM_InterruptDSP2 in this test, there is a problem with 
the timeout. However running other tests, videos and mp3 there no problems. I 
think we should change to 10ms, only to make sure there is no problem when 
CHNLSM_InterruptDSP2 is called a lot.

Let me know if you are agreed. Or have some comments about it.

Regards,
Fernando.


-Original Message-
From: Felipe Contreras [mailto:felipe.contre...@gmail.com] 
Sent: Thursday, March 19, 2009 3:35 PM
To: Guzman Lugo, Fernando
Cc: linux-omap@vger.kernel.org; Kanigeri, Hari; Hiroshi DOYU; Ameya Palande; 
Felipe Contreras
Subject: Re: [PATCH B 3/3] tidspbridge: decreate timeout to a saner value

On Thu, Mar 19, 2009 at 11:19 PM, Guzman Lugo, Fernando x0095...@ti.com wrote:

 Yes, I applied this; in fact I have applied all the patches. If I increase 
 the timeout there are no problems. The test I run creates 4 process and each 
 one does several a lot of calls to InputChnl and OutputChnl, so I think this 
 test is using the mailbox a lot and would be better a bigger timeout. What do 
 you think?

How fast are these messages sent? Can you track down which functions
are calling CHNLSM_InterruptDSP2 and making these timeouts happen.

I think it's safe to leave the timeout at 10, but that means it's
possible the code will be busy-looping up to 10 ms which will increase
the CPU load. Somebody from Nokia (Siarhei?) suggested to idle-wait
for the mbox empty irq, I think that's the best way to implement this,
but at least for the use cases I'm interested in (video
encoding/decoding) timeouts don't seem to be an issue anymore.

-- 
Felipe Contreras

--
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 B 3/3] tidspbridge: decreate timeout to a saner value

2009-03-19 Thread Felipe Contreras
On Fri, Mar 20, 2009 at 2:00 AM, Guzman Lugo, Fernando x0095...@ti.com wrote:



 This is a stress test, it creates 4 processes and each process will do 1000 
 transfers using streams, so the trace is:

 STRM_Issue -  WMD_CHNL_AddIOReq  - IO_Schedule

 IO_Schedule schedules a call to IO_DPC using task let.

 IO_DPC - IO_DispatchChnl - InputChnl - CHNLSM_InterruptDSP2

 Also      IO_DispatchChnl - OutputChnl - CHNLSM_InterruptDSP2.


 As we can call a lot CHNLSM_InterruptDSP2 in this test, there is a problem 
 with the timeout. However running other tests, videos and mp3 there no 
 problems. I think we should change to 10ms, only to make sure there is no 
 problem when CHNLSM_InterruptDSP2 is called a lot.

 Let me know if you are agreed. Or have some comments about it.

Well again, the best way to implement the wait for a slot in the
mailbox is with interrupts, not busy-looping. If we busy-loop too much
that would increase the CPU usage, and that would be bad.

That's why I want to use the 1ms timeout; to find issues that cause
increase in CPU load.

But for now I think 10ms is the safest, as it's the current value. If
somebody wants to pin-point issues, then the timeout should be
decreased.

-- 
Felipe Contreras
--
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


Some possible missing v4l2_subdev IOCTLs.

2009-03-19 Thread Aguirre Rodriguez, Sergio Alberto
Hi Hans,

I did a quick analysis of the subdev, and noticed that some video ioctls for 
the subdevices aren't there...

[gs]_crop
[gs]_parm
enum_frameintervals
enum_framesizes
enum_fmt_cap

I noticed this because we currently use them for a best sensor output 
selection before sending the image to the OMAP3 ISP.

Any particular reason why these aren't there?

Regards,
Sergio

--
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] OMAP3 clock: Access only available clock bits

2009-03-19 Thread Kim Kyuwon
Hi All,

I found a problem on PM Branch with OMAP3430 ES3.1 Board when enabling
OMAP_RESET_CLOCKS feature.
In clk_disable_unsed() function, as soon as sad2d_ick is disabled,
prcm interrupt is generated and its handler can't exit loop at next
statement!

while (prm_read_mod_reg(OCP_MOD, OMAP2_PRM_IRQSTATUS_MPU_OFFSET));

I also found that sad2d_ick is available only OMAP3430 ES1. I fixed
this problem with below patch.

Your better solutions or comments appreciated.

Sincerely,
Kyuwon
--
This patch prevents setting or clearing reserved bits of 'Clock Enable
Register', in the clk_disable_unused() function. Especially, this
patch prevents using the sad2d_ick which doesn't exist in OMAP3430
ES2+.

Signed-off-by: Kim Kyuwon q1@samsung.com
---
 arch/arm/mach-omap2/clock34xx.h |2 +-
 arch/arm/plat-omap/clock.c  |   10 ++
 2 files changed, 11 insertions(+), 1 deletions(-)

diff --git a/arch/arm/mach-omap2/clock34xx.h b/arch/arm/mach-omap2/clock34xx.h
index e0dd7f3..039f7dd 100644
--- a/arch/arm/mach-omap2/clock34xx.h
+++ b/arch/arm/mach-omap2/clock34xx.h
@@ -1279,7 +1279,7 @@ static struct clk sad2d_ick = {
.prcm_mod   = CORE_MOD,
.enable_reg = CM_ICLKEN1,
.enable_bit = OMAP3430_EN_SAD2D_SHIFT,
-   .flags  = CLOCK_IN_OMAP343X,
+   .flags  = CLOCK_IN_OMAP3430ES1,
.clkdm  = { .name = d2d_clkdm },
.recalc = followparent_recalc,
 };
diff --git a/arch/arm/plat-omap/clock.c b/arch/arm/plat-omap/clock.c
index 2eed047..b16c6c3 100644
--- a/arch/arm/plat-omap/clock.c
+++ b/arch/arm/plat-omap/clock.c
@@ -775,6 +775,16 @@ static int __init clk_disable_unused(void)
if (cpu_class_is_omap1()  ck-enable_reg == 0)
continue;

+   if (cpu_is_omap34xx()) {
+   if ((omap_rev() == OMAP3430_REV_ES1_0) 
+   (ck-flags  CLOCK_IN_OMAP3430ES2))
+   continue;
+
+   /* In this case, board Rev. is greater then ES1 */
+   if (ck-flags  CLOCK_IN_OMAP3430ES1)
+   continue;
+   }
+
spin_lock_irqsave(clockfw_lock, flags);
if (arch_clock-clk_disable_unused)
arch_clock-clk_disable_unused(ck);
-- 
1.5.2.5
--
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 B 3/3] tidspbridge: decreate timeout to a saner value

2009-03-19 Thread Hiroshi DOYU
From: ext Felipe Contreras felipe.contre...@gmail.com
Subject: Re: [PATCH B 3/3] tidspbridge: decreate timeout to a saner value
Date: Fri, 20 Mar 2009 01:06:16 +0100

 On Fri, Mar 20, 2009 at 2:00 AM, Guzman Lugo, Fernando x0095...@ti.com 
 wrote:
 
 
 
  This is a stress test, it creates 4 processes and each process will do 1000 
  transfers using streams, so the trace is:
 
  STRM_Issue -  WMD_CHNL_AddIOReq  - IO_Schedule
 
  IO_Schedule schedules a call to IO_DPC using task let.
 
  IO_DPC - IO_DispatchChnl - InputChnl - CHNLSM_InterruptDSP2
 
  Also      IO_DispatchChnl - OutputChnl - CHNLSM_InterruptDSP2.
 
 
  As we can call a lot CHNLSM_InterruptDSP2 in this test, there is a problem 
  with the timeout. However running other tests, videos and mp3 there no 
  problems. I think we should change to 10ms, only to make sure there is no 
  problem when CHNLSM_InterruptDSP2 is called a lot.
 
  Let me know if you are agreed. Or have some comments about it.
 
 Well again, the best way to implement the wait for a slot in the
 mailbox is with interrupts, not busy-looping. If we busy-loop too much
 that would increase the CPU usage, and that would be bad.

I think that s/w queuing of messages would be more efficient to allow
multiple senders to continue thier work anyway, especially in the case
of having these streamings.

 
 That's why I want to use the 1ms timeout; to find issues that cause
 increase in CPU load.
 
 But for now I think 10ms is the safest, as it's the current value. If
 somebody wants to pin-point issues, then the timeout should be
 decreased.
 
 -- 
 Felipe Contreras
--
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 0/3] V4L2 driver for OMAP2/3 with new CIDs.

2009-03-19 Thread Shah, Hardik
Hi All,
I will be posting series of three patches for the V4L2 driver on the OMAP2/3 
DSS.

Patch 1 -
This is the second revision of the patch.  
Documentation added for the following new CIDs and bit fields added in V4L2 
framework.

V4L2_CID_BG_COLOR: Added new CID for setting of the back ground color on the 
output device.
V4L2_CID_ROTATION: Added new CID for setting up of the rotation on the device.
Both of the above ioctls are discussed in detail.  

V4L2_FBUF_FLAG_SRC_CHROMAKEY: Added the flags bit field to the flags field of 
the v4l2_framebuffer structure for supporting the source chroma keying.  It's 
exactly opposite of the chroma keying supported with the flag 
V4L2_FBUF_FLAG_CHROMAKEY.

V4L2_FBUF_CAP_SRC_CHROMAKEY:  Added the capability bit field for the capability 
field of the v4l2_framebuffer structure.

Documentation change related to the new bit field for the source chroma keying 
is new from the previous version.

Patch 2 - 
Added New Control IDs for OMAP class of Devices as discussed above.  This is 
the third revision of the patch of adding the new control IDs and bit fields.

V4L2_FBUF_CAP_SRC_CHROMAKEY and V4L2_FBUF_FLAG_SRC_CHROMAKEY are newly added 
compared to previous revision of patch.

New Ioctl for programming the color space conversion matrix is dropped from 
this patch as the accompanying driver with this patch is not still having 
implementation for the same.  Related documentation is also removed. 

I will submit a separate patch for that with the necessary changes in driver to 
support the programming of the color space conversion. Some changes are 
required in DSS2 library also for doing the same.

Patch 3 -
This is a review patch since the DSS2 library is still to be accepted in 
community 
This is the third revision of the patch. 
This patch contains the V4L2 driver on the OMAP3 DSS2 using all of the above 
newly implemented CIDS and bit fields.  Following are the changes in the driver 
compared to the previous version.

1.  Added the chroma keying support.
2.  Added alpha blending support.
3.  Minor community comment fixed.
4.  Ported to work with Tomi's latest DSS2 library with minor modification in 
DSS2 library.  Path to Tomi's DSS2 library is 
http://www.bat.org/~tomba/git/linux-omap-dss.git/ commit id 
bc6dc4c7fabb8ba3bfe637a6c5dc271595a1bef6

All the comments and inputs are welcomed.

Thanks and Regards
Hardik Shah

 

--
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 1/3] Documentation for new V4L2 CIDs added.

2009-03-19 Thread Hardik Shah
1. Updated for V4L2_CID_BG_COLOR
2. Updated for V4L2_CID_ROTATION
Both of the above are discussed in length with community
3. Updated for new flags and capability field added
to v4l2_frame buffer structure.

Signed-off-by: Brijesh Jadav brijes...@ti.com
Signed-off-by: Hardik Shah hardik.s...@ti.com
Signed-off-by: Vaibhav Hiremath hvaib...@ti.com
---
 v4l2-spec/controls.sgml  |   19 ++-
 v4l2-spec/vidioc-g-fbuf.sgml |   19 +++
 2 files changed, 37 insertions(+), 1 deletions(-)

diff --git a/v4l2-spec/controls.sgml b/v4l2-spec/controls.sgml
index 477a970..79e2c28 100644
--- a/v4l2-spec/controls.sgml
+++ b/v4l2-spec/controls.sgml
@@ -281,10 +281,27 @@ minimum value disables backlight compensation./entry
 constantV4L2_COLORFX_SEPIA/constant (2)./entry
  /row
  row
+   entryconstantV4L2_CID_ROTATION/constant/entry
+   entryinteger/entry
+   entryRotates the image by specified angle. Common angles are 90, 
270,
+and 180. Rotating the image to 90 and 270 will reverse the height and width of
+the display window.  Its is necessary to set the new height and width of the 
picture
+using S_FMT ioctl see xref linkend=vidioc-g-fmt according to the rotation 
angle selected/entry
+ /row
+ row
+   entryconstantV4L2_CID_BG_COLOR/constant/entry
+   entryinteger/entry
+   entrySets the background color on the current output device.
+Background color needs to be specified in the RGB24 format.  The supplied 32
+bit value is intepreted as Bits 0-7 Red color information, Bits 8-15 Green 
color
+information, Bits 16-23 Blue color information and Bits 24-31 must be
+zero./entry
+ /row
+ row
entryconstantV4L2_CID_LASTP1/constant/entry
entry/entry
entryEnd of the predefined control IDs (currently
-constantV4L2_CID_COLORFX/constant + 1)./entry
+constantV4L2_CID_BG_COLOR/constant + 1)./entry
  /row
  row
entryconstantV4L2_CID_PRIVATE_BASE/constant/entry
diff --git a/v4l2-spec/vidioc-g-fbuf.sgml b/v4l2-spec/vidioc-g-fbuf.sgml
index 6781b53..27d1e29 100644
--- a/v4l2-spec/vidioc-g-fbuf.sgml
+++ b/v4l2-spec/vidioc-g-fbuf.sgml
@@ -336,6 +336,13 @@ alpha value. Alpha blending makes no sense for destructive 
overlays./entry
 inverted alpha channel of the framebuffer or VGA signal. Alpha
 blending makes no sense for destructive overlays./entry
  /row
+ row
+   entryconstantV4L2_FBUF_CAP_SRC_CHROMAKEY/constant/entry
+   entry0x0080/entry
+   entryThe device supports source chorma keying. Framebuffer
+images will be replaced by the video images.  Exactly
+opposite of constantV4L2_FBUF_CAP_CHROMAKEY/constant/entry
+ /row
/tbody
   /tgroup
 /table
@@ -411,6 +418,18 @@ images, but with an inverted alpha value. The blend 
function is:
 output = framebuffer pixel * (1 - alpha) + video pixel * alpha. The
 actual alpha depth depends on the framebuffer pixel format./entry
  /row
+ row
+   entryconstantV4L2_FBUF_FLAG_SRC_CHROMAKEY/constant/entry
+   entry0x0040/entry
+   entryUse chroma-keying. The chroma-key color is
+determined by the structfieldchromakey/structfield field of
+v4l2-window; and negotiated with the VIDIOC-S-FMT; ioctl, see xref
+linkend=overlay and xref linkend=osd.
+Since any one of the chorma keying can be active at a time as both
+of them are exactly opposite same structfieldchromakey/structfield
+field of v4l2-window; can be used to set the chroma key for source
+keying also./entry
+ /row
/tbody
   /tgroup
 /table
--
1.5.6

--
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 2/3] New V4L2 CIDs for OMAP class of Devices.

2009-03-19 Thread Hardik Shah
Added V4L2_CID_BG_COLOR for background color setting.
Added V4L2_CID_ROTATION for rotation setting.
Above two ioclts are indepth discussed. Posting
again with the driver usage.

V4L2 supports chroma keying added new flags for the
source chroma keying which is exactly opposite of the
chorma keying supported by V4L2.  In current implementation
video data is replaced by the graphics buffer data for some
specific color.  While for the source chroma keying grahics
data is replaced by the video data for some specific color.
Both are exactly opposite so are mutually exclusive

Signed-off-by: Brijesh Jadav brijes...@ti.com
Signed-off-by: Hardik Shah hardik.s...@ti.com
Signed-off-by: Vaibhav Hiremath hvaib...@ti.com
---
 linux/drivers/media/video/v4l2-common.c |7 +++
 linux/include/linux/videodev2.h |6 +-
 2 files changed, 12 insertions(+), 1 deletions(-)

diff --git a/linux/drivers/media/video/v4l2-common.c 
b/linux/drivers/media/video/v4l2-common.c
index 3c42316..fa408f0 100644
--- a/linux/drivers/media/video/v4l2-common.c
+++ b/linux/drivers/media/video/v4l2-common.c
@@ -422,6 +422,8 @@ const char *v4l2_ctrl_get_name(u32 id)
case V4L2_CID_CHROMA_AGC:   return Chroma AGC;
case V4L2_CID_COLOR_KILLER: return Color Killer;
case V4L2_CID_COLORFX:  return Color Effects;
+   case V4L2_CID_ROTATION: return Rotation;
+   case V4L2_CID_BG_COLOR: return Background color;

/* MPEG controls */
case V4L2_CID_MPEG_CLASS:   return MPEG Encoder Controls;
@@ -547,6 +549,10 @@ int v4l2_ctrl_query_fill(struct v4l2_queryctrl *qctrl, s32 
min, s32 max, s32 ste
qctrl-flags |= V4L2_CTRL_FLAG_READ_ONLY;
min = max = step = def = 0;
break;
+   case V4L2_CID_BG_COLOR:
+qctrl-type = V4L2_CTRL_TYPE_INTEGER;
+step = 1;
+break;
default:
qctrl-type = V4L2_CTRL_TYPE_INTEGER;
break;
@@ -571,6 +577,7 @@ int v4l2_ctrl_query_fill(struct v4l2_queryctrl *qctrl, s32 
min, s32 max, s32 ste
case V4L2_CID_BLUE_BALANCE:
case V4L2_CID_GAMMA:
case V4L2_CID_SHARPNESS:
+   case V4L2_CID_BG_COLOR:
qctrl-flags |= V4L2_CTRL_FLAG_SLIDER;
break;
case V4L2_CID_PAN_RELATIVE:
diff --git a/linux/include/linux/videodev2.h b/linux/include/linux/videodev2.h
index 2c83935..592d1c8 100644
--- a/linux/include/linux/videodev2.h
+++ b/linux/include/linux/videodev2.h
@@ -548,6 +548,7 @@ struct v4l2_framebuffer {
 #define V4L2_FBUF_CAP_LOCAL_ALPHA  0x0010
 #define V4L2_FBUF_CAP_GLOBAL_ALPHA 0x0020
 #define V4L2_FBUF_CAP_LOCAL_INV_ALPHA  0x0040
+#define V4L2_FBUF_CAP_SRC_CHROMAKEY0x0080
 /*  Flags for the 'flags' field. */
 #define V4L2_FBUF_FLAG_PRIMARY 0x0001
 #define V4L2_FBUF_FLAG_OVERLAY 0x0002
@@ -555,6 +556,7 @@ struct v4l2_framebuffer {
 #define V4L2_FBUF_FLAG_LOCAL_ALPHA 0x0008
 #define V4L2_FBUF_FLAG_GLOBAL_ALPHA0x0010
 #define V4L2_FBUF_FLAG_LOCAL_INV_ALPHA 0x0020
+#define V4L2_FBUF_FLAG_SRC_CHROMAKEY   0x0040

 struct v4l2_clip {
struct v4l2_rectc;
@@ -882,6 +884,8 @@ enum v4l2_power_line_frequency {
 #define V4L2_CID_CHROMA_AGC (V4L2_CID_BASE+29)
 #define V4L2_CID_COLOR_KILLER   (V4L2_CID_BASE+30)
 #define V4L2_CID_COLORFX   (V4L2_CID_BASE+31)
+#define V4L2_CID_ROTATION  (V4L2_CID_BASE+32)
+#define V4L2_CID_BG_COLOR   (V4L2_CID_BASE+33)
 enum v4l2_colorfx {
V4L2_COLORFX_NONE   = 0,
V4L2_COLORFX_BW = 1,
@@ -889,7 +893,7 @@ enum v4l2_colorfx {
 };

 /* last CID + 1 */
-#define V4L2_CID_LASTP1 (V4L2_CID_BASE+32)
+#define V4L2_CID_LASTP1 (V4L2_CID_BASE+34)

 /*  MPEG-class control IDs defined by V4L2 */
 #define V4L2_CID_MPEG_BASE (V4L2_CTRL_CLASS_MPEG | 0x900)
--
1.5.6

--
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