* [PATCH] SOLO6x10: don't do DMA from stack in solo_dma_vin_region().
@ 2013-09-12 12:25 Krzysztof Hałasa
2013-09-30 7:51 ` Hans Verkuil
2013-11-05 22:08 ` Ismael Luceno
0 siblings, 2 replies; 3+ messages in thread
From: Krzysztof Hałasa @ 2013-09-12 12:25 UTC (permalink / raw)
To: linux-media; +Cc: Hans Verkuil, ismael.luceno
Signed-off-by: Krzysztof Hałasa <khalasa@piap.pl>
diff --git a/drivers/staging/media/solo6x10/solo6x10-disp.c b/drivers/staging/media/solo6x10/solo6x10-disp.c
index 32d9953..884512e 100644
--- a/drivers/staging/media/solo6x10/solo6x10-disp.c
+++ b/drivers/staging/media/solo6x10/solo6x10-disp.c
@@ -176,18 +176,26 @@ static void solo_vout_config(struct solo_dev *solo_dev)
static int solo_dma_vin_region(struct solo_dev *solo_dev, u32 off,
u16 val, int reg_size)
{
- u16 buf[64];
- int i;
- int ret = 0;
+ u16 *buf;
+ const int n = 64, size = n * sizeof(*buf);
+ int i, ret = 0;
+
+ if (!(buf = kmalloc(size, GFP_KERNEL)))
+ return -ENOMEM;
- for (i = 0; i < sizeof(buf) >> 1; i++)
+ for (i = 0; i < n; i++)
buf[i] = cpu_to_le16(val);
- for (i = 0; i < reg_size; i += sizeof(buf))
- ret |= solo_p2m_dma(solo_dev, 1, buf,
- SOLO_MOTION_EXT_ADDR(solo_dev) + off + i,
- sizeof(buf), 0, 0);
+ for (i = 0; i < reg_size; i += size) {
+ ret = solo_p2m_dma(solo_dev, 1, buf,
+ SOLO_MOTION_EXT_ADDR(solo_dev) + off + i,
+ size, 0, 0);
+
+ if (ret)
+ break;
+ }
+ kfree(buf);
return ret;
}
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] SOLO6x10: don't do DMA from stack in solo_dma_vin_region().
2013-09-12 12:25 [PATCH] SOLO6x10: don't do DMA from stack in solo_dma_vin_region() Krzysztof Hałasa
@ 2013-09-30 7:51 ` Hans Verkuil
2013-11-05 22:08 ` Ismael Luceno
1 sibling, 0 replies; 3+ messages in thread
From: Hans Verkuil @ 2013-09-30 7:51 UTC (permalink / raw)
To: Krzysztof Hałasa; +Cc: linux-media, ismael.luceno
Ismael,
Can you Ack these four patches?
Regards,
Hans
On 09/12/2013 02:25 PM, Krzysztof Hałasa wrote:
> Signed-off-by: Krzysztof Hałasa <khalasa@piap.pl>
>
> diff --git a/drivers/staging/media/solo6x10/solo6x10-disp.c b/drivers/staging/media/solo6x10/solo6x10-disp.c
> index 32d9953..884512e 100644
> --- a/drivers/staging/media/solo6x10/solo6x10-disp.c
> +++ b/drivers/staging/media/solo6x10/solo6x10-disp.c
> @@ -176,18 +176,26 @@ static void solo_vout_config(struct solo_dev *solo_dev)
> static int solo_dma_vin_region(struct solo_dev *solo_dev, u32 off,
> u16 val, int reg_size)
> {
> - u16 buf[64];
> - int i;
> - int ret = 0;
> + u16 *buf;
> + const int n = 64, size = n * sizeof(*buf);
> + int i, ret = 0;
> +
> + if (!(buf = kmalloc(size, GFP_KERNEL)))
> + return -ENOMEM;
>
> - for (i = 0; i < sizeof(buf) >> 1; i++)
> + for (i = 0; i < n; i++)
> buf[i] = cpu_to_le16(val);
>
> - for (i = 0; i < reg_size; i += sizeof(buf))
> - ret |= solo_p2m_dma(solo_dev, 1, buf,
> - SOLO_MOTION_EXT_ADDR(solo_dev) + off + i,
> - sizeof(buf), 0, 0);
> + for (i = 0; i < reg_size; i += size) {
> + ret = solo_p2m_dma(solo_dev, 1, buf,
> + SOLO_MOTION_EXT_ADDR(solo_dev) + off + i,
> + size, 0, 0);
> +
> + if (ret)
> + break;
> + }
>
> + kfree(buf);
> return ret;
> }
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-media" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] SOLO6x10: don't do DMA from stack in solo_dma_vin_region().
2013-09-12 12:25 [PATCH] SOLO6x10: don't do DMA from stack in solo_dma_vin_region() Krzysztof Hałasa
2013-09-30 7:51 ` Hans Verkuil
@ 2013-11-05 22:08 ` Ismael Luceno
1 sibling, 0 replies; 3+ messages in thread
From: Ismael Luceno @ 2013-11-05 22:08 UTC (permalink / raw)
To: Krzysztof Hałasa; +Cc: linux-media, Hans Verkuil
[-- Attachment #1: Type: text/plain, Size: 206 bytes --]
On Thu, 12 Sep 2013 14:25:36 +0200
khalasa@piap.pl (Krzysztof Hałasa) wrote:
> Signed-off-by: Krzysztof Hałasa <khalasa@piap.pl>
Acked-by: Ismael Luceno <ismael.luceno@corp.bluecherry.net>
<...>
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 490 bytes --]
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2013-11-05 22:15 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-09-12 12:25 [PATCH] SOLO6x10: don't do DMA from stack in solo_dma_vin_region() Krzysztof Hałasa
2013-09-30 7:51 ` Hans Verkuil
2013-11-05 22:08 ` Ismael Luceno
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).