Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 01875d56 authored by Ben Dooks's avatar Ben Dooks
Browse files

Merge branch 'next-s3c64xx-fixes' into next-s3c-fixes

parents d23b3517 b93011e7
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -345,13 +345,13 @@ int s3c2410_dma_enqueue(unsigned int channel, void *id,
	if (!chan)
		return -EINVAL;

	buff = kzalloc(sizeof(struct s3c64xx_dma_buff), GFP_KERNEL);
	buff = kzalloc(sizeof(struct s3c64xx_dma_buff), GFP_ATOMIC);
	if (!buff) {
		printk(KERN_ERR "%s: no memory for buffer\n", __func__);
		return -ENOMEM;
	}

	lli = dma_pool_alloc(dma_pool, GFP_KERNEL, &buff->lli_dma);
	lli = dma_pool_alloc(dma_pool, GFP_ATOMIC, &buff->lli_dma);
	if (!lli) {
		printk(KERN_ERR "%s: no memory for lli\n", __func__);
		ret = -ENOMEM;
@@ -697,7 +697,7 @@ static int __init s3c64xx_dma_init(void)

	printk(KERN_INFO "%s: Registering DMA channels\n", __func__);

	dma_pool = dma_pool_create("DMA-LLI", NULL, 32, 16, 0);
	dma_pool = dma_pool_create("DMA-LLI", NULL, sizeof(struct pl080s_lli), 16, 0);
	if (!dma_pool) {
		printk(KERN_ERR "%s: failed to create pool\n", __func__);
		return -ENOMEM;
+1 −1
Original line number Diff line number Diff line
@@ -26,7 +26,7 @@ struct s3c64xx_dma_buff {
	struct s3c64xx_dma_buff *next;

	void			*pw;
	struct pl080_lli	*lli;
	struct pl080s_lli	*lli;
	dma_addr_t		 lli_dma;
};

+5 −3
Original line number Diff line number Diff line
@@ -302,8 +302,8 @@ static int s3c64xx_setrate_clksrc(struct clk *clk, unsigned long rate)
		return -EINVAL;

	val = __raw_readl(reg);
	val &= ~(0xf << sclk->shift);
	val |= (div - 1) << sclk->shift;
	val &= ~(0xf << sclk->divider_shift);
	val |= (div - 1) << sclk->divider_shift;
	__raw_writel(val, reg);

	return 0;
@@ -328,6 +328,8 @@ static int s3c64xx_setparent_clksrc(struct clk *clk, struct clk *parent)
		clksrc |= src_nr << sclk->shift;

		__raw_writel(clksrc, S3C_CLK_SRC);

		clk->parent = parent;
		return 0;
	}

@@ -343,7 +345,7 @@ static unsigned long s3c64xx_roundrate_clksrc(struct clk *clk,
	if (rate > parent_rate)
		rate = parent_rate;
	else {
		div = rate / parent_rate;
		div = parent_rate / rate;

		if (div == 0)
			div = 1;