diff options
| author | Daniel Vetter <daniel.vetter@ffwll.ch> | 2012-05-08 13:39:59 +0200 | 
|---|---|---|
| committer | Daniel Vetter <daniel.vetter@ffwll.ch> | 2012-05-08 13:39:59 +0200 | 
| commit | 5e13a0c5ec05d382b488a691dfb8af015b1dea1e (patch) | |
| tree | 7a06dfa1f7661f8908193f2437b32452520221d3 /arch/arm/mach-omap2/serial.c | |
| parent | b615b57a124a4af7b68196bc2fb8acc236041fa2 (diff) | |
| parent | 4f256e8aa3eda15c11c3cec3ec5336e1fc579cbd (diff) | |
| download | olio-linux-3.10-5e13a0c5ec05d382b488a691dfb8af015b1dea1e.tar.xz olio-linux-3.10-5e13a0c5ec05d382b488a691dfb8af015b1dea1e.zip  | |
Merge remote-tracking branch 'airlied/drm-core-next' into drm-intel-next-queued
Backmerge of drm-next to resolve a few ugly conflicts and to get a few
fixes from 3.4-rc6 (which drm-next has already merged). Note that this
merge also restricts the stencil cache lra evict policy workaround to
snb (as it should) - I had to frob the code anyway because the
CM0_MASK_SHIFT define died in the masked bit cleanups.
We need the backmerge to get Paulo Zanoni's infoframe regression fix
for gm45 - further bugfixes from him touch the same area and would
needlessly conflict.
Signed-Off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'arch/arm/mach-omap2/serial.c')
| -rw-r--r-- | arch/arm/mach-omap2/serial.c | 124 | 
1 files changed, 7 insertions, 117 deletions
diff --git a/arch/arm/mach-omap2/serial.c b/arch/arm/mach-omap2/serial.c index 0cdd359a128..9fc2f44188c 100644 --- a/arch/arm/mach-omap2/serial.c +++ b/arch/arm/mach-omap2/serial.c @@ -108,8 +108,14 @@ static void omap_uart_set_noidle(struct platform_device *pdev)  static void omap_uart_set_smartidle(struct platform_device *pdev)  {  	struct omap_device *od = to_omap_device(pdev); +	u8 idlemode; -	omap_hwmod_set_slave_idlemode(od->hwmods[0], HWMOD_IDLEMODE_SMART); +	if (od->hwmods[0]->class->sysc->idlemodes & SIDLE_SMART_WKUP) +		idlemode = HWMOD_IDLEMODE_SMART_WKUP; +	else +		idlemode = HWMOD_IDLEMODE_SMART; + +	omap_hwmod_set_slave_idlemode(od->hwmods[0], idlemode);  }  #else @@ -120,124 +126,8 @@ static void omap_uart_set_smartidle(struct platform_device *pdev) {}  #endif /* CONFIG_PM */  #ifdef CONFIG_OMAP_MUX -static struct omap_device_pad default_uart1_pads[] __initdata = { -	{ -		.name	= "uart1_cts.uart1_cts", -		.enable	= OMAP_PIN_INPUT_PULLUP | OMAP_MUX_MODE0, -	}, -	{ -		.name	= "uart1_rts.uart1_rts", -		.enable	= OMAP_PIN_OUTPUT | OMAP_MUX_MODE0, -	}, -	{ -		.name	= "uart1_tx.uart1_tx", -		.enable	= OMAP_PIN_OUTPUT | OMAP_MUX_MODE0, -	}, -	{ -		.name	= "uart1_rx.uart1_rx", -		.flags	= OMAP_DEVICE_PAD_REMUX | OMAP_DEVICE_PAD_WAKEUP, -		.enable	= OMAP_PIN_INPUT_PULLUP | OMAP_MUX_MODE0, -		.idle	= OMAP_PIN_INPUT_PULLUP | OMAP_MUX_MODE0, -	}, -}; - -static struct omap_device_pad default_uart2_pads[] __initdata = { -	{ -		.name	= "uart2_cts.uart2_cts", -		.enable	= OMAP_PIN_INPUT_PULLUP | OMAP_MUX_MODE0, -	}, -	{ -		.name	= "uart2_rts.uart2_rts", -		.enable	= OMAP_PIN_OUTPUT | OMAP_MUX_MODE0, -	}, -	{ -		.name	= "uart2_tx.uart2_tx", -		.enable	= OMAP_PIN_OUTPUT | OMAP_MUX_MODE0, -	}, -	{ -		.name	= "uart2_rx.uart2_rx", -		.flags	= OMAP_DEVICE_PAD_REMUX | OMAP_DEVICE_PAD_WAKEUP, -		.enable	= OMAP_PIN_INPUT_PULLUP | OMAP_MUX_MODE0, -		.idle	= OMAP_PIN_INPUT_PULLUP | OMAP_MUX_MODE0, -	}, -}; - -static struct omap_device_pad default_uart3_pads[] __initdata = { -	{ -		.name	= "uart3_cts_rctx.uart3_cts_rctx", -		.enable	= OMAP_PIN_INPUT_PULLUP | OMAP_MUX_MODE0, -	}, -	{ -		.name	= "uart3_rts_sd.uart3_rts_sd", -		.enable	= OMAP_PIN_OUTPUT | OMAP_MUX_MODE0, -	}, -	{ -		.name	= "uart3_tx_irtx.uart3_tx_irtx", -		.enable	= OMAP_PIN_OUTPUT | OMAP_MUX_MODE0, -	}, -	{ -		.name	= "uart3_rx_irrx.uart3_rx_irrx", -		.flags	= OMAP_DEVICE_PAD_REMUX | OMAP_DEVICE_PAD_WAKEUP, -		.enable	= OMAP_PIN_INPUT | OMAP_MUX_MODE0, -		.idle	= OMAP_PIN_INPUT | OMAP_MUX_MODE0, -	}, -}; - -static struct omap_device_pad default_omap36xx_uart4_pads[] __initdata = { -	{ -		.name   = "gpmc_wait2.uart4_tx", -		.enable = OMAP_PIN_OUTPUT | OMAP_MUX_MODE0, -	}, -	{ -		.name	= "gpmc_wait3.uart4_rx", -		.flags	= OMAP_DEVICE_PAD_REMUX | OMAP_DEVICE_PAD_WAKEUP, -		.enable	= OMAP_PIN_INPUT | OMAP_MUX_MODE2, -		.idle	= OMAP_PIN_INPUT | OMAP_MUX_MODE2, -	}, -}; - -static struct omap_device_pad default_omap4_uart4_pads[] __initdata = { -	{ -		.name	= "uart4_tx.uart4_tx", -		.enable	= OMAP_PIN_OUTPUT | OMAP_MUX_MODE0, -	}, -	{ -		.name	= "uart4_rx.uart4_rx", -		.flags	= OMAP_DEVICE_PAD_REMUX | OMAP_DEVICE_PAD_WAKEUP, -		.enable	= OMAP_PIN_INPUT | OMAP_MUX_MODE0, -		.idle	= OMAP_PIN_INPUT | OMAP_MUX_MODE0, -	}, -}; -  static void omap_serial_fill_default_pads(struct omap_board_data *bdata)  { -	switch (bdata->id) { -	case 0: -		bdata->pads = default_uart1_pads; -		bdata->pads_cnt = ARRAY_SIZE(default_uart1_pads); -		break; -	case 1: -		bdata->pads = default_uart2_pads; -		bdata->pads_cnt = ARRAY_SIZE(default_uart2_pads); -		break; -	case 2: -		bdata->pads = default_uart3_pads; -		bdata->pads_cnt = ARRAY_SIZE(default_uart3_pads); -		break; -	case 3: -		if (cpu_is_omap44xx()) { -			bdata->pads = default_omap4_uart4_pads; -			bdata->pads_cnt = -				ARRAY_SIZE(default_omap4_uart4_pads); -		} else if (cpu_is_omap3630()) { -			bdata->pads = default_omap36xx_uart4_pads; -			bdata->pads_cnt = -				ARRAY_SIZE(default_omap36xx_uart4_pads); -		} -		break; -	default: -		break; -	}  }  #else  static void omap_serial_fill_default_pads(struct omap_board_data *bdata) {}  |