Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Merge tag 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc

Pull ARM SoC bug fixes from Arnd Bergmann:
"Four patches for arm-soc this week:

- Kevin Hilman is no longer reachable under his previous email
address. He submitted the patch earlier, but nobody felt
responsible to pick it up.

- One Tegra fix for an incorect register address in device tree.

- IMX multiplatform support exposes a configuration option that leads
to unbootable kernels on all other machines and that needs to
depend on that platform.

- A nontrivial bug fix for the setup of the mxs video output."

* tag 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
MAINTAINERS: update email address for Kevin Hilman
ARM: tegra: fix register address of slink controller
ARM: imx: add dependency check for DEBUG_IMX_UART_PORT
ARM: video: mxs: Fix mxsfb misconfiguring VDCTRL0

+28 -21
+3 -3
MAINTAINERS
··· 5683 5683 F: arch/arm/*omap*/*clock* 5684 5684 5685 5685 OMAP POWER MANAGEMENT SUPPORT 5686 - M: Kevin Hilman <khilman@ti.com> 5686 + M: Kevin Hilman <khilman@deeprootsystems.com> 5687 5687 L: linux-omap@vger.kernel.org 5688 5688 S: Maintained 5689 5689 F: arch/arm/*omap*/*pm* ··· 5777 5777 5778 5778 OMAP GPIO DRIVER 5779 5779 M: Santosh Shilimkar <santosh.shilimkar@ti.com> 5780 - M: Kevin Hilman <khilman@ti.com> 5780 + M: Kevin Hilman <khilman@deeprootsystems.com> 5781 5781 L: linux-omap@vger.kernel.org 5782 5782 S: Maintained 5783 5783 F: drivers/gpio/gpio-omap.c ··· 7173 7173 7174 7174 TI DAVINCI MACHINE SUPPORT 7175 7175 M: Sekhar Nori <nsekhar@ti.com> 7176 - M: Kevin Hilman <khilman@ti.com> 7176 + M: Kevin Hilman <khilman@deeprootsystems.com> 7177 7177 L: davinci-linux-open-source@linux.davincidsp.com (moderated for non-subscribers) 7178 7178 T: git git://gitorious.org/linux-davinci/linux-davinci.git 7179 7179 Q: http://patchwork.kernel.org/project/linux-davinci/list/
+1
arch/arm/Kconfig.debug
··· 495 495 DEBUG_IMX53_UART || \ 496 496 DEBUG_IMX6Q_UART 497 497 default 1 498 + depends on ARCH_MXC 498 499 help 499 500 Choose UART port on which kernel low-level debug messages 500 501 should be output.
+1 -1
arch/arm/boot/dts/tegra20.dtsi
··· 385 385 386 386 spi@7000d800 { 387 387 compatible = "nvidia,tegra20-slink"; 388 - reg = <0x7000d480 0x200>; 388 + reg = <0x7000d800 0x200>; 389 389 interrupts = <0 83 0x04>; 390 390 nvidia,dma-request-selector = <&apbdma 17>; 391 391 #address-cells = <1>;
+1 -1
arch/arm/boot/dts/tegra30.dtsi
··· 372 372 373 373 spi@7000d800 { 374 374 compatible = "nvidia,tegra30-slink", "nvidia,tegra20-slink"; 375 - reg = <0x7000d480 0x200>; 375 + reg = <0x7000d800 0x200>; 376 376 interrupts = <0 83 0x04>; 377 377 nvidia,dma-request-selector = <&apbdma 17>; 378 378 #address-cells = <1>;
+12 -12
arch/arm/mach-mxs/mach-mxs.c
··· 41 41 .lower_margin = 4, 42 42 .hsync_len = 1, 43 43 .vsync_len = 1, 44 - .sync = FB_SYNC_DATA_ENABLE_HIGH_ACT | 45 - FB_SYNC_DOTCLK_FAILING_ACT, 46 44 }, 47 45 }; 48 46 ··· 57 59 .lower_margin = 10, 58 60 .hsync_len = 10, 59 61 .vsync_len = 10, 60 - .sync = FB_SYNC_DATA_ENABLE_HIGH_ACT | 61 - FB_SYNC_DOTCLK_FAILING_ACT, 62 62 }, 63 63 }; 64 64 ··· 73 77 .lower_margin = 45, 74 78 .hsync_len = 1, 75 79 .vsync_len = 1, 76 - .sync = FB_SYNC_DATA_ENABLE_HIGH_ACT, 77 80 }, 78 81 }; 79 82 ··· 89 94 .lower_margin = 13, 90 95 .hsync_len = 48, 91 96 .vsync_len = 3, 92 - .sync = FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT | 93 - FB_SYNC_DATA_ENABLE_HIGH_ACT | 94 - FB_SYNC_DOTCLK_FAILING_ACT, 97 + .sync = FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT, 95 98 }, 96 99 }; 97 100 ··· 106 113 .lower_margin = 0x15, 107 114 .hsync_len = 64, 108 115 .vsync_len = 4, 109 - .sync = FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT | 110 - FB_SYNC_DATA_ENABLE_HIGH_ACT | 111 - FB_SYNC_DOTCLK_FAILING_ACT, 116 + .sync = FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT, 112 117 }, 113 118 }; 114 119 ··· 123 132 .lower_margin = 2, 124 133 .hsync_len = 15, 125 134 .vsync_len = 15, 126 - .sync = FB_SYNC_DATA_ENABLE_HIGH_ACT 127 135 }, 128 136 }; 129 137 ··· 249 259 mxsfb_pdata.mode_count = ARRAY_SIZE(mx23evk_video_modes); 250 260 mxsfb_pdata.default_bpp = 32; 251 261 mxsfb_pdata.ld_intf_width = STMLCDIF_24BIT; 262 + mxsfb_pdata.sync = MXSFB_SYNC_DATA_ENABLE_HIGH_ACT | 263 + MXSFB_SYNC_DOTCLK_FAILING_ACT; 252 264 } 253 265 254 266 static inline void enable_clk_enet_out(void) ··· 270 278 mxsfb_pdata.mode_count = ARRAY_SIZE(mx28evk_video_modes); 271 279 mxsfb_pdata.default_bpp = 32; 272 280 mxsfb_pdata.ld_intf_width = STMLCDIF_24BIT; 281 + mxsfb_pdata.sync = MXSFB_SYNC_DATA_ENABLE_HIGH_ACT | 282 + MXSFB_SYNC_DOTCLK_FAILING_ACT; 273 283 274 284 mxs_saif_clkmux_select(MXS_DIGCTL_SAIF_CLKMUX_EXTMSTR0); 275 285 } ··· 291 297 mxsfb_pdata.mode_count = ARRAY_SIZE(m28evk_video_modes); 292 298 mxsfb_pdata.default_bpp = 16; 293 299 mxsfb_pdata.ld_intf_width = STMLCDIF_18BIT; 300 + mxsfb_pdata.sync = MXSFB_SYNC_DATA_ENABLE_HIGH_ACT; 294 301 } 295 302 296 303 static void __init sc_sps1_init(void) ··· 317 322 mxsfb_pdata.mode_count = ARRAY_SIZE(apx4devkit_video_modes); 318 323 mxsfb_pdata.default_bpp = 32; 319 324 mxsfb_pdata.ld_intf_width = STMLCDIF_24BIT; 325 + mxsfb_pdata.sync = MXSFB_SYNC_DATA_ENABLE_HIGH_ACT | 326 + MXSFB_SYNC_DOTCLK_FAILING_ACT; 320 327 } 321 328 322 329 #define ENET0_MDC__GPIO_4_0 MXS_GPIO_NR(4, 0) ··· 404 407 mxsfb_pdata.mode_count = ARRAY_SIZE(cfa10049_video_modes); 405 408 mxsfb_pdata.default_bpp = 32; 406 409 mxsfb_pdata.ld_intf_width = STMLCDIF_18BIT; 410 + mxsfb_pdata.sync = MXSFB_SYNC_DATA_ENABLE_HIGH_ACT; 407 411 } 408 412 409 413 static void __init cfa10037_init(void) ··· 421 423 mxsfb_pdata.mode_count = ARRAY_SIZE(apf28dev_video_modes); 422 424 mxsfb_pdata.default_bpp = 16; 423 425 mxsfb_pdata.ld_intf_width = STMLCDIF_16BIT; 426 + mxsfb_pdata.sync = MXSFB_SYNC_DATA_ENABLE_HIGH_ACT | 427 + MXSFB_SYNC_DOTCLK_FAILING_ACT; 424 428 } 425 429 426 430 static void __init mxs_machine_init(void)
+5 -2
drivers/video/mxsfb.c
··· 169 169 unsigned dotclk_delay; 170 170 const struct mxsfb_devdata *devdata; 171 171 int mapped; 172 + u32 sync; 172 173 }; 173 174 174 175 #define mxsfb_is_v3(host) (host->devdata->ipversion == 3) ··· 457 456 vdctrl0 |= VDCTRL0_HSYNC_ACT_HIGH; 458 457 if (fb_info->var.sync & FB_SYNC_VERT_HIGH_ACT) 459 458 vdctrl0 |= VDCTRL0_VSYNC_ACT_HIGH; 460 - if (fb_info->var.sync & FB_SYNC_DATA_ENABLE_HIGH_ACT) 459 + if (host->sync & MXSFB_SYNC_DATA_ENABLE_HIGH_ACT) 461 460 vdctrl0 |= VDCTRL0_ENABLE_ACT_HIGH; 462 - if (fb_info->var.sync & FB_SYNC_DOTCLK_FAILING_ACT) 461 + if (host->sync & MXSFB_SYNC_DOTCLK_FAILING_ACT) 463 462 vdctrl0 |= VDCTRL0_DOTCLK_ACT_FAILING; 464 463 465 464 writel(vdctrl0, host->base + LCDC_VDCTRL0); ··· 861 860 } 862 861 863 862 INIT_LIST_HEAD(&fb_info->modelist); 863 + 864 + host->sync = pdata->sync; 864 865 865 866 ret = mxsfb_init_fbinfo(host); 866 867 if (ret != 0)
+5 -2
include/linux/mxsfb.h
··· 24 24 #define STMLCDIF_18BIT 2 /** pixel data bus to the display is of 18 bit width */ 25 25 #define STMLCDIF_24BIT 3 /** pixel data bus to the display is of 24 bit width */ 26 26 27 - #define FB_SYNC_DATA_ENABLE_HIGH_ACT (1 << 6) 28 - #define FB_SYNC_DOTCLK_FAILING_ACT (1 << 7) /* failing/negtive edge sampling */ 27 + #define MXSFB_SYNC_DATA_ENABLE_HIGH_ACT (1 << 6) 28 + #define MXSFB_SYNC_DOTCLK_FAILING_ACT (1 << 7) /* failing/negtive edge sampling */ 29 29 30 30 struct mxsfb_platform_data { 31 31 struct fb_videomode *mode_list; ··· 43 43 * zero the framebuffer memory will be dynamically 44 44 * allocated. If specified,fb_size must also be specified. 45 45 * fb_phys must be unused by Linux. 46 + */ 47 + u32 sync; /* sync mask, contains MXSFB specifics not 48 + * carried in fb_info->var.sync 46 49 */ 47 50 }; 48 51