1. 31 1月, 2017 3 次提交
  2. 30 8月, 2016 1 次提交
    • A
      video: ARM CLCD: fix endpoint lookup logic · 1121a418
      Arnd Bergmann 提交于
      The addition of the Nomadik support in this driver introduced
      a bug in clcdfb_of_init_display(), which now calls init_panel
      with an uninitialized 'endpoint' pointer, as "gcc -Wmaybe-uninitialized"
      warns:
      
      drivers/video/fbdev/amba-clcd.c: In function 'clcdfb_of_init_display':
      drivers/video/fbdev/amba-clcd.c:785:5: error: 'endpoint' may be used uninitialized in this function [-Werror=maybe-uninitialized]
      
      This reverts the broken part of the function to what it was before
      the patch, which is the best guess I have to what it should be.
      I assume this was left over from an attempted rework of the
      code that was partially backed out.
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Fixes: 046ad6cd ("video: ARM CLCD: support Nomadik variant")
      Cc: Linus Walleij <linus.walleij@linaro.org>
      Reviewed-by: NLinus Walleij <linus.walleij@linaro.org>
      Reported-by: NColin Ian King <colin.king@canonical.com>
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      1121a418
  3. 11 8月, 2016 6 次提交
    • L
      video: ARM CLCD: add special panel hook for Versatiles · 25348160
      Linus Walleij 提交于
      This adds a special panel init hook for the ARM reference designs
      Integrator (IM-PD1), Versatile and RealView, so we can configure
      a DPI panel from device tree and have it working without
      boardfiles for these machines.
      
      Basically this is the same code as from the board files, just
      moved over to look up the syscon DT node and manipulate the
      special CLCD register from their regmap.
      
      Tested on RealView PB11MPcore.
      
      Cc: Pawel Moll <pawel.moll@arm.com>
      Cc: Rob Herring <robh@kernel.org>
      Cc: Russell King <linux@arm.linux.org.uk>
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      25348160
    • L
      video: ARM CLCD: add special board and panel hooks for Nomadik · 1d3f0cbe
      Linus Walleij 提交于
      In the .board_init() callback will set up a mux register in
      the Nomadik system controller. It so happens that the platform
      has two display output engines, and we have to poke a bit in
      a special register to make sure the right engine is muxed in
      as they are mutually exclusive.
      
      The Nomadik CLCD variant is instantiated on a platform where
      it is combined with a 800x480 TPO WVGA display. In the
      .panel_init() hook we will detect this display from the
      compatible string and set it up. We also add .enable() and
      .disable() callbacks for it as the sleep state is software
      controlled.
      
      The display is connected with a special 3-wire serial bus
      (this is sadly neither I2C or SPI) using three GPIO lines that
      we bitbang to detect the display and enable/disable sleep
      state.
      
      Cc: Pawel Moll <pawel.moll@arm.com>
      Cc: Rob Herring <robh@kernel.org>
      Cc: Russell King <linux@arm.linux.org.uk>
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      1d3f0cbe
    • L
      video: ARM CLCD: support Nomadik variant · 046ad6cd
      Linus Walleij 提交于
      The Nomadik variant has a few special quirks that need to be respected
      to make the driver work:
      
      - The block need to be clocked during writing of the TIMn registers
        or the bus will stall.
      - Special bits in the control register select how many of the output
        display lines get activated.
      - Special bits in the control register select how to manage the
        different 565 and 5551 modes.
      - There is a packed 24bit graphics mode, i.e 888 pixels can be stored
        in memory is three consecutive bytes, not evenly aligned to a 32bit
        word.
      
      This patch uses the vendor data pointer from the AMBA matching mechanism
      to track the quirks for this variant, and adds two hooks that variants
      can use to initialize boards and panels during start-up. These will
      later be used to adopt a Nomadik board profile.
      
      Cc: Pawel Moll <pawel.moll@arm.com>
      Cc: Rob Herring <robh@kernel.org>
      Cc: Russell King <linux@arm.linux.org.uk>
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      046ad6cd
    • L
      video: ARM CLCD: support pads connected in reverse order · 03d14c36
      Linus Walleij 提交于
      There are CLCDs connected with the pads in BGR rather than RGB
      order. It really doesn't matter since the CLCD has a flag and
      a bit to switch the position of the RGB and BGR components.
      This is needed to put something logical into the
      arm,pl11x,tft-r0g0b0-pads property of the device tree on the
      Nomadik which will then be <16 8 0>.
      
      Cc: Pawel Moll <pawel.moll@arm.com>
      Cc: Rob Herring <robh@kernel.org>
      Cc: Russell King <linux@arm.linux.org.uk>
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      03d14c36
    • L
      video: ARM CLCD: support DT signal inversion flags · af29897f
      Linus Walleij 提交于
      The device tree bindings from display-timing.txt allows us to
      specify if data enable, hsync, vsync or the pixed clock should be
      inverted on the way to the display. The driver does not currently
      handle this so add support for those flags as it is needed for
      the Versatile Sanyo LCD display.
      
      Note that the previous behaviour was to invert the pixel clock
      for all displays, so unless the pixel clock polarity is
      explicitly defined in the device tree (i.e. the timings node
      has the "pixelclk-active" property) we fall back to inverting
      the pixel clock. This needs some extra compatibility code.
      
      Since the timing flags have to be set up inside the struct
      clcd_panel, we need to refactor the code a bit to pass around
      the panel rather than just the mode.
      
      Cc: Pawel Moll <pawel.moll@arm.com>
      Cc: Rob Herring <robh@kernel.org>
      Cc: Russell King <linux@arm.linux.org.uk>
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      af29897f
    • L
      video: ARM CLCD: backlight support for OF · c38162be
      Linus Walleij 提交于
      If the device is probed from device tree, we can support
      backlight. This is used with some systems such as the
      ST Microelectronics Nomadik.
      
      We have to add HAS_IOMEM to the dependencies of CLCD since
      the backlight class device will now be selected, and if it
      gets selected on an arch that does not have IOMEM,
      compilation will fail.
      
      Cc: Pawel Moll <pawel.moll@arm.com>
      Cc: Rob Herring <robh@kernel.org>
      Cc: Russell King <linux@arm.linux.org.uk>
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      c38162be
  4. 10 5月, 2016 1 次提交
  5. 18 4月, 2016 1 次提交
  6. 09 3月, 2016 1 次提交
    • L
      dma, mm/pat: Rename dma_*_writecombine() to dma_*_wc() · f6e45661
      Luis R. Rodriguez 提交于
      Rename dma_*_writecombine() to dma_*_wc(), so that the naming
      is coherent across the various write-combining APIs. Keep the
      old names for compatibility for a while, these can be removed
      at a later time. A guard is left to enable backporting of the
      rename, and later remove of the old mapping defines seemlessly.
      
      Build tested successfully with allmodconfig.
      
      The following Coccinelle SmPL patch was used for this simple
      transformation:
      
      @ rename_dma_alloc_writecombine @
      expression dev, size, dma_addr, gfp;
      @@
      
      -dma_alloc_writecombine(dev, size, dma_addr, gfp)
      +dma_alloc_wc(dev, size, dma_addr, gfp)
      
      @ rename_dma_free_writecombine @
      expression dev, size, cpu_addr, dma_addr;
      @@
      
      -dma_free_writecombine(dev, size, cpu_addr, dma_addr)
      +dma_free_wc(dev, size, cpu_addr, dma_addr)
      
      @ rename_dma_mmap_writecombine @
      expression dev, vma, cpu_addr, dma_addr, size;
      @@
      
      -dma_mmap_writecombine(dev, vma, cpu_addr, dma_addr, size)
      +dma_mmap_wc(dev, vma, cpu_addr, dma_addr, size)
      
      We also keep the old names as compatibility helpers, and
      guard against their definition to make backporting easier.
      
      Generated-by: Coccinelle SmPL
      Suggested-by: NIngo Molnar <mingo@kernel.org>
      Signed-off-by: NLuis R. Rodriguez <mcgrof@suse.com>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: airlied@linux.ie
      Cc: akpm@linux-foundation.org
      Cc: benh@kernel.crashing.org
      Cc: bhelgaas@google.com
      Cc: bp@suse.de
      Cc: dan.j.williams@intel.com
      Cc: daniel.vetter@ffwll.ch
      Cc: dhowells@redhat.com
      Cc: julia.lawall@lip6.fr
      Cc: konrad.wilk@oracle.com
      Cc: linux-fbdev@vger.kernel.org
      Cc: linux-pci@vger.kernel.org
      Cc: luto@amacapital.net
      Cc: mst@redhat.com
      Cc: tomi.valkeinen@ti.com
      Cc: toshi.kani@hp.com
      Cc: vinod.koul@intel.com
      Cc: xen-devel@lists.xensource.com
      Link: http://lkml.kernel.org/r/1453516462-4844-1-git-send-email-mcgrof@do-not-panic.comSigned-off-by: NIngo Molnar <mingo@kernel.org>
      f6e45661
  7. 26 2月, 2015 1 次提交
  8. 19 11月, 2014 1 次提交
  9. 12 9月, 2014 1 次提交
  10. 26 8月, 2014 1 次提交
  11. 04 8月, 2014 1 次提交
  12. 29 7月, 2014 1 次提交
  13. 17 4月, 2014 1 次提交
  14. 31 10月, 2013 1 次提交
  15. 09 10月, 2013 1 次提交
  16. 20 9月, 2013 1 次提交
  17. 22 11月, 2011 1 次提交
  18. 27 9月, 2011 1 次提交
  19. 24 6月, 2011 1 次提交
  20. 24 2月, 2011 1 次提交
  21. 19 2月, 2011 2 次提交
  22. 18 8月, 2010 1 次提交
  23. 15 3月, 2010 1 次提交
    • R
      Video: ARM CLCD: Better fix for swapped IENB and CNTL registers · 3f17522c
      Russell King 提交于
      On PL111, as found on Realview and other platforms, these registers are
      always arranged as CNTL then IENB.  On PL110, these registers are IENB
      then CNTL, except on Versatile platforms.
      
      Re-arrange the handling of these register swaps so that PL111 always
      gets it right without resorting to ifdefs, leaving the only case needing
      special handling being PL110 on Versatile.
      
      Fill out amba/clcd.h with the PL110/PL111 register definition
      differences in case someone tries to use the PL110 specific definitions
      on PL111.
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      3f17522c
  24. 09 7月, 2009 1 次提交
  25. 11 6月, 2009 1 次提交
    • L
      [ARM] 5544/1: Trust PrimeCell resource sizes · dc890c2d
      Linus Walleij 提交于
      I found the PrimeCell/AMBA Bus drivers distrusting the resource
      passed in as part of the struct amba_device abstraction. This
      patch removes all hard coded resource sizes found in the PrimeCell
      drivers and move the responsibility of this definition back to
      the platform/board device definition, which already exist and
      appear to be correct for all in-tree users of these drivers.
      We do this using the resource_size() inline function which was
      also replicated in the only driver using the resource size, so
      that has been changed too. The KMI_SIZE was left in kmi.h in case
      someone likes it. Test-compiled against Versatile and Integrator
      defconfigs, seems to work but I don't posess these boards and
      cannot test them.
      Signed-off-by: NLinus Walleij <linus.walleij@stericsson.com>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      dc890c2d
  26. 21 5月, 2009 1 次提交
  27. 01 4月, 2009 1 次提交
  28. 09 1月, 2009 1 次提交
  29. 01 12月, 2008 1 次提交
  30. 30 11月, 2008 1 次提交
  31. 20 7月, 2007 1 次提交
  32. 14 12月, 2006 1 次提交
    • R
      [PATCH] getting rid of all casts of k[cmz]alloc() calls · 5cbded58
      Robert P. J. Day 提交于
      Run this:
      
      	#!/bin/sh
      	for f in $(grep -Erl "\([^\)]*\) *k[cmz]alloc" *) ; do
      	  echo "De-casting $f..."
      	  perl -pi -e "s/ ?= ?\([^\)]*\) *(k[cmz]alloc) *\(/ = \1\(/" $f
      	done
      
      And then go through and reinstate those cases where code is casting pointers
      to non-pointers.
      
      And then drop a few hunks which conflicted with outstanding work.
      
      Cc: Russell King <rmk@arm.linux.org.uk>, Ian Molton <spyro@f2s.com>
      Cc: Mikael Starvik <starvik@axis.com>
      Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
      Cc: Roman Zippel <zippel@linux-m68k.org>
      Cc: Geert Uytterhoeven <geert@linux-m68k.org>
      Cc: Ralf Baechle <ralf@linux-mips.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Kyle McMartin <kyle@mcmartin.ca>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Jeff Dike <jdike@addtoit.com>
      Cc: Greg KH <greg@kroah.com>
      Cc: Jens Axboe <jens.axboe@oracle.com>
      Cc: Paul Fulghum <paulkf@microgate.com>
      Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
      Cc: Karsten Keil <kkeil@suse.de>
      Cc: Mauro Carvalho Chehab <mchehab@infradead.org>
      Cc: Jeff Garzik <jeff@garzik.org>
      Cc: James Bottomley <James.Bottomley@steeleye.com>
      Cc: Ian Kent <raven@themaw.net>
      Cc: Steven French <sfrench@us.ibm.com>
      Cc: David Woodhouse <dwmw2@infradead.org>
      Cc: Neil Brown <neilb@cse.unsw.edu.au>
      Cc: Jaroslav Kysela <perex@suse.cz>
      Cc: Takashi Iwai <tiwai@suse.de>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      5cbded58