1. 03 Jun, 2015 1 commit
    • Dave Airlie's avatar
      Add virtio gpu driver. · dc5698e8
      Dave Airlie authored
      This patch adds a kms driver for the virtio gpu.  The xorg modesetting
      driver can handle the device just fine, the framebuffer for fbcon is
      there too.
      
      Qemu patches for the host side are under review currently.
      
      The pci version of the device comes in two variants: with and without
      vga compatibility.  The former has a extra memory bar for the vga
      framebuffer, the later is a pure virtio device.  The only concern for
      this driver is that in the virtio-vga case we have to kick out the
      firmware framebuffer.
      
      Initial revision has only 2d support, 3d (virgl) support requires
      some more work on the qemu side and will be added later.
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      Signed-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
      Acked-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      dc5698e8
  2. 02 Jun, 2015 2 commits
    • Gerd Hoffmann's avatar
    • Gerd Hoffmann's avatar
      break kconfig dependency loop · 06b718c0
      Gerd Hoffmann authored
      After adding virtio-gpu I get this funky kconfig dependency loop.
      
      scripts/kconfig/conf --oldconfig Kconfig
      drivers/video/fbdev/Kconfig:5:error: recursive dependency detected!
      drivers/video/fbdev/Kconfig:5:  symbol FB is selected by DRM_KMS_FB_HELPER
      drivers/gpu/drm/Kconfig:34:     symbol DRM_KMS_FB_HELPER is selected by DRM_VIRTIO_GPU
      drivers/gpu/drm/virtio/Kconfig:1:       symbol DRM_VIRTIO_GPU depends on VIRTIO
      drivers/virtio/Kconfig:1:       symbol VIRTIO is selected by REMOTEPROC
      drivers/remoteproc/Kconfig:4:   symbol REMOTEPROC is selected by OMAP_REMOTEPROC
      drivers/remoteproc/Kconfig:12:  symbol OMAP_REMOTEPROC depends on OMAP_IOMMU
      drivers/iommu/Kconfig:141:      symbol OMAP_IOMMU is selected by VIDEO_OMAP3
      drivers/media/platform/Kconfig:96:      symbol VIDEO_OMAP3 depends on VIDEO_V4L2
      drivers/media/v4l2-core/Kconfig:6:      symbol VIDEO_V4L2 depends on I2C
      drivers/i2c/Kconfig:7:  symbol I2C is selected by FB_DDC
      drivers/video/fbdev/Kconfig:59: symbol FB_DDC is selected by FB_CYBER2000_DDC
      drivers/video/fbdev/Kconfig:374:        symbol FB_CYBER2000_DDC depends on FB_CYBER2000
      drivers/video/fbdev/Kconfig:362:        symbol FB_CYBER2000 depends on FB
      
      Making VIDEO_OMAP3 depend on OMAP_IOMMU instead of selecting it breaks the
      loop, which looks like the best way to handle it to me.  Updated OMAP_IOMMU
      help text accordingly.
      Signed-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
      Acked-by: default avatarMauro Carvalho Chehab <mchehab@osg.samsung.com>
      06b718c0
  3. 28 May, 2015 8 commits
    • Dave Airlie's avatar
      Merge branch 'drm-tda998x-devel' of git://ftp.arm.linux.org.uk/~rmk/linux-arm into drm-next · 95872b49
      Dave Airlie authored
      warning fix for tda998x
      
      * 'drm-tda998x-devel' of git://ftp.arm.linux.org.uk/~rmk/linux-arm:
        drm/i2c: tda998x: fix compiler warning for ssize_t
      95872b49
    • Russell King's avatar
      drm: clean up drm_mm debugfs output · 2f15791c
      Russell King authored
      The drm_mm debugfs output is difficult to read as two different formats
      are used for the addresses:
      
      0x00000080000000-0x0000008000b000: 45056: used
      0x8000b000-0x80016000: 45056: free
      0x00000080016000-0x0000008001b000: 20480: used
      0x8001b000-0x817a1000: 24666112: free
      0x000000817a1000-0x000000817a8000: 28672: used
      0x000000817a8000-0x00000081ba8000: 4194304: used
      
      Fix this by using %#018llx for all addresses, thus making the output:
      
      0x0000000080000000-0x000000008000b000: 45056: used
      0x000000008000b000-0x0000000080016000: 45056: free
      0x0000000080016000-0x000000008001b000: 20480: used
      0x000000008001b000-0x00000000817a1000: 24666112: free
      0x00000000817a1000-0x00000000817a8000: 28672: used
      0x00000000817a8000-0x0000000081ba8000: 4194304: used
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      Reviewed-by: default avatarAlex Deucher <alexander.deucher@amd.com>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      2f15791c
    • Dave Airlie's avatar
      Merge tag 'drm-intel-next-2015-05-22' of git://anongit.freedesktop.org/drm-intel into drm-next · c99d1530
      Dave Airlie authored
      - cpt modeset sequence fixes from Ville
      - more rps boosting tuning from Chris
      - S3 support for skl (Damien)
      - a pile of w/a for bxt from various people
      - cleanup of primary plane pixel formats (Damien)
      - a big pile of small patches with fixes and cleanups all over
      
      * tag 'drm-intel-next-2015-05-22' of git://anongit.freedesktop.org/drm-intel: (90 commits)
        drm/i915: Update DRIVER_DATE to 20150522
        drm/i915: Introduce DRM_I915_THROTTLE_JIFFIES
        drm/i915: Use the correct destructor for freeing requests on error
        drm/i915/skl: don't fail colorkey + scaler request
        drm/i915: Enable GTT caching on gen8
        drm/i915: Move WaProgramL3SqcReg1Default:bdw to init_clock_gating()
        drm/i915: Use ilk_init_lp_watermarks() on BDW
        drm/i915: Disable FDI RX/TX before the ports
        drm/i915: Disable CRT port after pipe on PCH platforms
        drm/i915: Disable SDVO port after the pipe on PCH platforms
        drm/i915: Disable HDMI port after the pipe on PCH platforms
        drm/i915: Fix the IBX transcoder B workarounds
        drm/i915: Write the SDVO reg twice on IBX
        drm/i915: Fix DP enhanced framing for CPT
        drm/i915: Clean up the CPT DP .get_hw_state() port readout
        drm/i915: Clarfify the DP code platform checks
        drm/i915: Remove the double register write from intel_disable_hdmi()
        drm/i915: Remove a bogus 12bpc "toggle" from intel_disable_hdmi()
        drm/i915/skl: Deinit/init the display at suspend/resume
        drm/i915: Free RPS boosts for all laggards
        ...
      c99d1530
    • Dave Airlie's avatar
      Merge branch 'drm-next-4.2' of git://people.freedesktop.org/~agd5f/linux into drm-next · a8a7cf02
      Dave Airlie authored
      for amdgpu separately next week.  Highlights for radeon:
      - VCE1 support
      - Bug fixes and misc cleanups
      
      * 'drm-next-4.2' of git://people.freedesktop.org/~agd5f/linux:
        radeon: Deinline indirect register accessor functions
        drm/radeon: Fix max_vblank_count value for current display engines
        drm/radeon: stop using addr to check for BO move
        drm/radeon: clean up radeon_audio_enable
        drm/radeon: take the mode_config mutex when dealing with hpds (v2)
        drm/radeon: make dpcd parameters const
        drm/radeon: Use DECLARE_BITMAP
        drm/radeon/tn/si: enable/disable vce cg when encoding v2
        drm/radeon: add support for vce 1.0 clock gating
        drm/radeon: add VCE 1.0 support v4
        drm/radeon/dpm: add vce support for SI
        drm/radeon/dpm: add vce dpm support for TN
        drm/radeon: implement tn_set_vce_clocks
        drm/radeon: implement si_set_vce_clocks v2
        drm/radeon: allow some more VCE firmware versions
        drm/radeon: rework VCE FW size calculation
        drm/radeon: add a GPU reset counter queryable by userspace
      a8a7cf02
    • Denys Vlasenko's avatar
      radeon: Deinline indirect register accessor functions · 9e5acbc2
      Denys Vlasenko authored
      This patch deinlines indirect register accessor functions.
      
      These functions perform two mmio accesses, framed by spin lock/unlock.
      Spin lock/unlock by itself takes more than 50 cycles in ideal case
      (if lock is exclusively cached on current CPU).
      
      With this .config: http://busybox.net/~vda/kernel_config,
      after uninlining these functions have sizes and callsite counts
      as follows:
      
      r600_uvd_ctx_rreg: 111 bytes, 4 callsites
      r600_uvd_ctx_wreg: 113 bytes, 5 callsites
      eg_pif_phy0_rreg: 106 bytes, 13 callsites
      eg_pif_phy0_wreg: 108 bytes, 13 callsites
      eg_pif_phy1_rreg: 107 bytes, 13 callsites
      eg_pif_phy1_wreg: 108 bytes, 13 callsites
      rv370_pcie_rreg: 111 bytes, 21 callsites
      rv370_pcie_wreg: 113 bytes, 24 callsites
      r600_rcu_rreg: 111 bytes, 16 callsites
      r600_rcu_wreg: 113 bytes, 25 callsites
      cik_didt_rreg: 106 bytes, 10 callsites
      cik_didt_wreg: 107 bytes, 10 callsites
      tn_smc_rreg: 106 bytes, 126 callsites
      tn_smc_wreg: 107 bytes, 116 callsites
      eg_cg_rreg: 107 bytes, 20 callsites
      eg_cg_wreg: 108 bytes, 52 callsites
      
      Functions r100_mm_rreg() and r100_mm_rreg() have a fast path and
      a locked (slow) path. This patch deinlines only slow path.
      
      r100_mm_rreg_slow: 78 bytes, 2083 callsites
      r100_mm_wreg_slow: 81 bytes, 3570 callsites
      
      Reduction in code size is more than 65,000 bytes:
      
          text     data      bss       dec     hex filename
      85740176 22294680 20627456 128662312 7ab3b28 vmlinux.before
      85674192 22294776 20627456 128598664 7aa4288 vmlinux
      Signed-off-by: default avatarDenys Vlasenko <dvlasenk@redhat.com>
      Cc: Christian König <christian.koenig@amd.com>
      Cc: Alex Deucher <alexander.deucher@amd.com>
      Cc: linux-kernel@vger.kernel.org
      Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
      9e5acbc2
    • Michel Dänzer's avatar
      drm/radeon: Fix max_vblank_count value for current display engines · b0b9bb4d
      Michel Dänzer authored
      The value was much too low, which could cause the userspace visible
      vblank counter to move backwards when the hardware counter wrapped
      around.
      Reviewed-by: default avatarChristian König <christian.koenig@amd.com>
      Signed-off-by: default avatarMichel Dänzer <michel.daenzer@amd.com>
      Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
      b0b9bb4d
    • Christian König's avatar
      drm/radeon: stop using addr to check for BO move · 161ab658
      Christian König authored
      It is theoretically possible that a swapped out BO gets the
      same GTT address, but different backing pages while being swapped in.
      
      Instead just use another VA state to note updated areas.
      Signed-off-by: default avatarChristian König <christian.koenig@amd.com>
      Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
      161ab658
    • Alex Deucher's avatar
      drm/radeon: clean up radeon_audio_enable · 01062193
      Alex Deucher authored
      - make it static
      - fix mask/bool handling for last param
      Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
      Cc: stable@vger.kernel.org
      01062193
  4. 26 May, 2015 15 commits
  5. 25 May, 2015 11 commits
  6. 22 May, 2015 3 commits