1. 29 Dec, 2015 30 commits
  2. 17 Dec, 2015 2 commits
    • Tomi Valkeinen's avatar
      OMAPDSS: DISPC: always set ALIGN when available · e5f80917
      Tomi Valkeinen authored
      By default DISPC asserts hsync and vsync sequentially, i.e. there's
      first hsync and that is immediately followed by vsync. This is the only
      available behaviour on OMAP2/3, and default behaviour on OMAP4+.
      
      OMAP4+ has ALIGN bit in POL_FREQ register, which makes DISPC assert both
      syncs at the same time.
      
      It has been observed that some panels don't like sequential syncs (AM5
      EVM's panel). After studying the datasheets for multiple panels and
      encoders, and MIPI DPI spec, it looks like there is no standard way to
      handle this.
      
      Sometimes the datasheets don't mention the required syncs behaviour at
      all, sometimes the datasheets have images that hint towards simultaneous
      syncs, and sometimes it is explicitly mentioned that simultaneous syncs
      are needed. No panels or encoders requiring sequential sync was found.
      
      It thus seems to be safe to default to simultaneous syncs when the ALIGN
      bit is available. This fixed AM5 EVM's panel, and no side effects have
      been observed on other panels or encoders.
      Signed-off-by: default avatarTomi Valkeinen <tomi.valkeinen@ti.com>
      Acked-by: default avatarLaurent Pinchart <laurent.pinchart@ideasonboard.com>
      e5f80917
    • Dave Gerlach's avatar
      OMAPDSS: adopt pinctrl support · 5038bb8c
      Dave Gerlach authored
      Update omapdss driver to set the state of the pins to:
      - "default on resume
      - "sleep" on suspend
      
      By optionally putting the pins into sleep state in the suspend callback
      we can accomplish two things.
      - minimize current leakage from pins and thus save power,
      - prevent the IP from driving pins output in an uncontrolled manner,
      which may happen if the power domain drops the domain regulator.
      Signed-off-by: default avatarDave Gerlach <d-gerlach@ti.com>
      Acked-by: default avatarLaurent Pinchart <laurent.pinchart@ideasonboard.com>
      Signed-off-by: default avatarTomi Valkeinen <tomi.valkeinen@ti.com>
      5038bb8c
  3. 15 Dec, 2015 8 commits
    • Robert Jarzmik's avatar
      video: fbdev: pxafb: initial devicetree conversion · 420a4882
      Robert Jarzmik authored
      This patch brings a first support of pxa framebuffer devices to a
      devicetree pxa platform, as was before platform data.
      
      There are restrictions with this port, the biggest one being the lack of
      support of smart panels. Moreover the conversion doesn't provide a way
      to declare multiple framebuffer configurations with different bits per
      pixel, only the LCD hardware bus width is used.
      
      The patch was tested on both pxa25x, pxa27x and pxa3xx platform (namely
      lubbock, mainstone and zylonite).
      Signed-off-by: default avatarRobert Jarzmik <robert.jarzmik@free.fr>
      Signed-off-by: default avatarTomi Valkeinen <tomi.valkeinen@ti.com>
      420a4882
    • Robert Jarzmik's avatar
      video: fbdev: pxafb: loosen the platform data bond · f3621a60
      Robert Jarzmik authored
      In order to prepare the transition to a mixed platform data and
      device-tree initialization, remove all the platform data references all
      over the driver.
      
      Copy the platform data into the internal structure of the pxafb, and
      only use this afterward.
      Signed-off-by: default avatarRobert Jarzmik <robert.jarzmik@free.fr>
      Signed-off-by: default avatarTomi Valkeinen <tomi.valkeinen@ti.com>
      f3621a60
    • Ezequiel Garcia's avatar
      fbdev: Make fb-notify a no-op if CONFIG_FB=n · 5ec96538
      Ezequiel Garcia authored
      There's no point in having support for framebuffer notifications
      is CONFIG_FB is disabled. This commit adds the necessary stubs
      for code to link properly when CONFIG_FB=n and moves fb-notify.o
      to be built only when CONFIG_FB=y.
      Signed-off-by: default avatarEzequiel Garcia <ezequiel@vanguardiasur.com.ar>
      Signed-off-by: default avatarTomi Valkeinen <tomi.valkeinen@ti.com>
      5ec96538
    • Daniel Vetter's avatar
      fbdev: Debug knob to register without holding console_lock · c3c296b0
      Daniel Vetter authored
      When the usual fbcon legacy options are enabled we have
      ->register_framebuffer
        ->fb notifier chain calls into fbcon
          ->fbcon sets up console on new fbi
            ->fbi->set_par
              ->drm_fb_helper_set_par exercises full kms api
      
      And because of locking inversion hilarity all of register_framebuffer
      is done with the console lock held. Which means that the first time on
      driver load we exercise _all_ the kms code (all probe paths and
      modeset paths for everything connected) is under the console lock.
      That means if anything goes belly-up in that big pile of code nothing
      ever reaches logfiles (and the machine is dead).
      
      Usual tactic to debug that is to temporarily remove those console_lock
      calls to be able to capture backtraces. I'm fed up writing this patch
      and recompiling kernels. Hence this patch here to add an unsafe,
      kernel-taining option to do this at runtime.
      
      Cc: Jean-Christophe Plagniol-Villard <plagnioj@jcrosoft.com>
      Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
      Cc: linux-fbdev@vger.kernel.org
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      Signed-off-by: default avatarTomi Valkeinen <tomi.valkeinen@ti.com>
      c3c296b0
    • Dmitry Eremin-Solenikov's avatar
      video: fbdev: rivafb: unlock chip before probiding EDID · 1c639bae
      Dmitry Eremin-Solenikov authored
      At least NV3 requires for chip to be unlocked before it is possible to
      access I2C registers. Without it, it is not possible to read EDID.
      Signed-off-by: default avatarDmitry Eremin-Solenikov <dbaryshkov@gmail.com>
      Signed-off-by: default avatarTomi Valkeinen <tomi.valkeinen@ti.com>
      1c639bae
    • Arnd Bergmann's avatar
      fbdev: sm712fb: avoid unused function warnings · 24ed78dc
      Arnd Bergmann authored
      The sm712fb framebuffer driver encloses the power-management
      functions in #ifdef CONFIG_PM, but the smtcfb_pci_suspend/resume
      functions are only really used when CONFIG_PM_SLEEP is also
      set, as a frequent gcc warning shows:
      
      fbdev/sm712fb.c:1549:12: warning: 'smtcfb_pci_suspend' defined but not used
      fbdev/sm712fb.c:1572:12: warning: 'smtcfb_pci_resume' defined but not used
      
      The driver also avoids using the SIMPLE_DEV_PM_OPS macro when
      CONFIG_PM is unset, which is redundant.
      
      This changes the driver to remove the #ifdef and instead mark
      the functions as __maybe_unused, which is a nicer anyway, as it
      provides build testing for all the code in all configurations
      and is harder to get wrong.
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Signed-off-by: default avatarTomi Valkeinen <tomi.valkeinen@ti.com>
      24ed78dc
    • Arnd Bergmann's avatar
      fbdev: auo_k190x: avoid unused function warnings · a8a31afa
      Arnd Bergmann authored
      The auo_k190x framebuffer driver encloses the power-management
      functions in #ifdef CONFIG_PM, but the auok190x_suspend/resume
      functions are only really used when CONFIG_PM_SLEEP is also
      set, as a frequent gcc warning shows:
      
      drivers/video/fbdev/auo_k190x.c:859:12: warning: 'auok190x_suspend' defined but not used
      drivers/video/fbdev/auo_k190x.c:899:12: warning: 'auok190x_resume' defined but not used
      
      This changes the driver to remove the #ifdef and instead mark
      the functions as __maybe_unused, which is a nicer anyway, as it
      provides build testing for all the code in all configurations
      and is harder to get wrong.
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Signed-off-by: default avatarTomi Valkeinen <tomi.valkeinen@ti.com>
      a8a31afa
    • Arnd Bergmann's avatar
      fbdev: sis: enforce selection of at least one backend · 5b833fea
      Arnd Bergmann authored
      The sis framebuffer driver complains with a compile-time warning
      if neither the FB_SIS_300 nor FB_SIS_315 symbols are selected:
      
      drivers/video/fbdev/sis/sis_main.c:61:2: warning: #warning Neither CONFIG_FB_SIS_300 nor CONFIG_FB_SIS_315 is se
      
      This is reasonable because it doesn't work in that case, but it's
      also annoying for randconfig builds and is one of the most common
      warnings I'm seeing on ARM now.
      
      This changes the Kconfig logic to prevent the silly configuration,
      by always selecting the FB_SIS_300 variant if the other one is
      not set.
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Signed-off-by: default avatarTomi Valkeinen <tomi.valkeinen@ti.com>
      5b833fea