1. 31 5月, 2016 3 次提交
    • L
      vga_switcheroo: Support deferred probing of audio clients · a345918d
      Lukas Wunner 提交于
      Daniel Vetter pointed out that vga_switcheroo_client_probe_defer() could
      be needed by audio clients as well. To avoid mistakes when someone adds
      conditions for these in the future, constrain the single existing
      condition to VGA clients by checking for PCI_BASE_CLASS_DISPLAY. This
      encompasses both PCI_CLASS_DISPLAY_VGA as well as PCI_CLASS_DISPLAY_3D,
      which is used by some Nvidia Optimus GPUs.
      
      Any future checks for audio clients should then be constrained to
      PCI_BASE_CLASS_MULTIMEDIA.
      
      v6: Spun out from commit introducing vga_switcheroo_client_probe_defer()
          to keep it a pure refactoring change. (Emil Velikov, Jani Nikula)
      
      Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
      Cc: Emil Velikov <emil.l.velikov@gmail.com>
      Cc: Jani Nikula <jani.nikula@linux.intel.com>
      Signed-off-by: NLukas Wunner <lukas@wunner.de>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      Link: http://patchwork.freedesktop.org/patch/msgid/358d58490eb9dda5f270d844b0dce511a2a20828.1464685538.git.lukas@wunner.de
      a345918d
    • L
      vga_switcheroo: Add helper for deferred probing · b00e5334
      Lukas Wunner 提交于
      So far we've got one condition when DRM drivers need to defer probing
      on a dual GPU system and it's coded separately into each of the relevant
      drivers. As suggested by Daniel Vetter, deduplicate that code in the
      drivers and move it to a new vga_switcheroo helper. This yields better
      encapsulation of concepts and lets us add further checks in a central
      place. (The existing check pertains to pre-retina MacBook Pros and an
      additional check is expected to be needed for retinas.)
      
      One might be tempted to check deferred probing conditions in
      vga_switcheroo_register_client(), but this is usually called fairly late
      during driver load. The GPU is fully brought up and ready for switching
      at that point. On boot the ->probe hook is potentially called dozens of
      times until it finally succeeds, and each time we'd repeat bringup and
      teardown of the GPU, lengthening boot time considerably and cluttering
      logfiles. A separate helper is therefore needed which can be called
      right at the beginning of the ->probe hook.
      
      Note that amdgpu currently does not call this helper as the AMD GPUs
      built into MacBook Pros are only supported by radeon so far.
      
      v2: This helper could eventually be used by audio clients as well,
          so rephrase kerneldoc to refer to "client" instead of "GPU"
          and move the single existing check in an if block specific
          to PCI_CLASS_DISPLAY_VGA devices. Move documentation on
          that check from kerneldoc to a comment. (Daniel Vetter)
      
      v3: Mandate in kerneldoc that registration of client shall only
          happen after calling this helper. (Daniel Vetter)
      
      v4: Rebase on 412c8f7d ("drm/radeon: Return -EPROBE_DEFER when
          amdkfd not loaded")
      
      v5: Some Optimus GPUs use PCI_CLASS_DISPLAY_3D, make sure those are
          matched as well. (Emil Velikov)
      
      v6: The if-condition referring to PCI_BASE_CLASS_DISPLAY may be
          considered a functional change. Move to a separate commit to
          keep this a pure refactoring change. (Emil Velikov, Jani Nikula)
      
      Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
      Cc: Ben Skeggs <bskeggs@redhat.com>
      Cc: Alex Deucher <alexander.deucher@amd.com>
      Signed-off-by: NLukas Wunner <lukas@wunner.de>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      Link: http://patchwork.freedesktop.org/patch/msgid/575885fd440c2b13c3f19ddf44360cfbbff35f50.1464685538.git.lukas@wunner.de
      b00e5334
    • G
      virtio-gpu: fix output lookup · d1e372c4
      Gerd Hoffmann 提交于
      Needed for multihead setups where we can have disabled
      outputs and therefore plane->crtc can be NULL.
      Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      Link: http://patchwork.freedesktop.org/patch/msgid/1464609806-22013-1-git-send-email-kraxel@redhat.com
      d1e372c4
  2. 30 5月, 2016 3 次提交
  3. 25 5月, 2016 2 次提交
  4. 23 5月, 2016 6 次提交
  5. 21 5月, 2016 3 次提交
    • D
      drm: Nuke ->vblank_disable_allowed · fcee5906
      Daniel Vetter 提交于
      This was added in
      
      commit 0a3e67a4
      Author: Jesse Barnes <jbarnes@virtuousgeek.org>
      Date:   Tue Sep 30 12:14:26 2008 -0700
      
          drm: Rework vblank-wait handling to allow interrupt reduction.
      
      to stay backwards-compatible with old UMS code that didn't even tell
      the kernel when it did a modeset, so that the kernel could
      save/restore vblank counters. At worst this means vblanks will be
      somewhat funky on a setup that very likely no one still runs.
      
      So let's just nuke it.
      
      Plan B would be to set it unconditionally in drm_vblank_init for kms
      drivers, instead of in each driver separately. So if this patch breaks
      anything please only restore the hunks in drmP.h and drm_irq.c, plus
      add a check for DRIVER_MODESET in drm_vblank_init.
      
      Stumbled over this in a discussion on irc with Chris.
      
      Cc: Chris Wilson <chris@chris-wilson.co.uk>
      Cc: Alex Deucher <alexander.deucher@amd.com>
      Cc: Liviu Dudau <liviu.dudau@arm.com>
      Cc: Russell King <rmk+kernel@arm.linux.org.uk>
      Cc: Thierry Reding <thierry.reding@gmail.com>
      Cc: Eric Anholt <eric@anholt.net>
      Cc: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
      Cc: Inki Dae <inki.dae@samsung.com>
      Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
      Cc: Mark Yao <mark.yao@rock-chips.com>
      Cc: Sascha Hauer <s.hauer@pengutronix.de>
      Cc: Philipp Zabel <p.zabel@pengutronix.de>
      Signed-off-by: NDaniel Vetter <daniel.vetter@intel.com>
      Reviewed-by: NAlex Deucher <alexander.deucher@amd.com>
      Acked-by: NLiviu Dudau <Liviu.Dudau@arm.com>
      Acked-by: NLaurent Pinchart <laurent.pinchart@ideasonboard.com>
      Tested-by: NLaurent Pinchart <laurent.pinchart@ideasonboard.com>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      fcee5906
    • D
      Merge tag 'vmwgfx-next-160520' of git://people.freedesktop.org/~thomash/linux into drm-next · fc7fedc2
      Dave Airlie 提交于
      Pull request of 2016-05-20
      
      * tag 'vmwgfx-next-160520' of git://people.freedesktop.org/~thomash/linux:
        drm/vmwgfx: Report vmwgfx version to vmware.log
        drm/vmwgfx: Add VMWare host messaging capability
        drm/vmwgfx: Kill some lockdep warnings
      fc7fedc2
    • D
      Merge branch 'linux-4.7' of git://github.com/skeggsb/linux into drm-next · d5fa33f2
      Dave Airlie 提交于
      Nothing too exciting here, there's a larger chunk of work that still
      needs more testing but not likely to get that done today - so - here's
      the rest of it.  Assuming nothing else goes horribly wrong, I should be
      able to send the rest Monday if it isn't too late....
      
      Changes:
      - Improvements to power sensor support
      - Initial attempt at GM108 support
      - Minor fixes to GR init + ucode
      - Make use of topology information (provided by the GPU) in various
      places, should at least fix some fault recovery issues and
      engine/runlist mapping confusion on newer GPUs.
      
      * 'linux-4.7' of git://github.com/skeggsb/linux: (51 commits)
        drm/nouveau/gr/gf100-: fix race condition in fecs/gpccs ucode
        drm/nouveau/core: recognise GM108 chipsets
        drm/nouveau/gr/gm107-: fix touching non-existent ppcs in attrib cb setup
        drm/nouveau/gr/gk104-: share implementation of ppc exception init
        drm/nouveau/gr/gk104-: move rop_active_fbps init to nonctx
        drm/nouveau/bios/pll: check BIT table version before trying to parse it
        drm/nouveau/bios/pll: prevent oops when limits table can't be parsed
        drm/nouveau/volt/gk104: round up in gk104_volt_set
        drm/nouveau/fb/gm200: setup mmu debug buffer registers at init()
        drm/nouveau/fb/gk20a,gm20b: setup mmu debug buffer registers at init()
        drm/nouveau/fb/gf100-: allocate mmu debug buffers
        drm/nouveau/fb: allow chipset-specific actions for oneinit()
        drm/nouveau/gr/gm200-: fix bad hardcoding of a max-tpcs-per-gpc value
        drm/nouveau/gr/gm200-: rop count == ltc count
        drm/nouveau/gr/gm200: modify the mask when copying mmu settings from fb
        drm/nouveau/gr/gm200: move some code into init_gpc_mmu() hook
        drm/nouveau/gr/gm200: make generate_main() static
        drm/nouveau/gr/gf100-: abstract fetching rop count
        drm/nouveau/gr/gf100-: rename magic_not_rop_nr to screen_tile_row_offset
        drm/nouveau/gr/gf100-: remove hardcoded idle_timeout values
        ...
      d5fa33f2
  6. 20 5月, 2016 23 次提交