1. 08 8月, 2013 10 次提交
  2. 04 8月, 2013 1 次提交
  3. 31 7月, 2013 3 次提交
  4. 30 7月, 2013 10 次提交
  5. 26 7月, 2013 4 次提交
  6. 23 7月, 2013 6 次提交
    • M
      drm/radeon: fix combios tables on older cards · cef1d00c
      Mark Kettenis 提交于
      Noticed that my old Radeon 7500 hung after printing
      
         drm: GPU not posted. posting now...
      
      when it wasn't selected as the primary card the BIOS.  Some digging
      revealed that it was hanging in combios_parse_mmio_table() while
      parsing the ASIC INIT 3 table.  Looking at the BIOS ROM for the card,
      it becomes obvious that there is no ASIC INIT 3 table in the BIOS.
      The code is just processing random garbage.  No surprise it hangs!
      
      Why do I say that there is no ASIC INIT 3 table is the BIOS?  This
      table is found through the MISC INFO table.  The MISC INFO table can
      be found at offset 0x5e in the COMBIOS header.  But the header is
      smaller than that.  The COMBIOS header starts at offset 0x126.  The
      standard PCI Data Structure (the bit that starts with 'PCIR') lives at
      offset 0x180.  That means that the COMBIOS header can not be larger
      than 0x5a bytes and therefore cannot contain a MISC INFO table.
      
      I looked at a dozen or so BIOS images, some my own, some downloaded from:
      
          <http://www.techpowerup.com/vgabios/index.php?manufacturer=ATI&page=1>
      
      It is fairly obvious that the size of the COMBIOS header can be found
      at offset 0x6 of the header.  Not sure if it is a 16-bit number or
      just an 8-bit number, but that doesn't really matter since the tables
      seems to be always smaller than 256 bytes.
      
      So I think combios_get_table_offset() should check if the requested
      table is present.  This can be done by checking the offset against the
      size of the header.  See the diff below.  The diff is against the WIP
      OpenBSD codebase that roughly corresponds to Linux 3.8.13 at this
      point.  But I don't think this bit of the code changed much since
      then.
      
      For what it is worth:
      Signed-off-by: NMark Kettenis <kettenis@openbsd.org>
      Signed-off-by: NAlex Deucher <alexander.deucher@amd.com>
      Cc: stable@vger.kernel.org
      cef1d00c
    • A
      drm/radeon: improve dac adjust heuristics for legacy pdac · 03ed8cf9
      Alex Deucher 提交于
      Hopefully avoid more quirks in the future due to bogus
      vbios dac data.
      Signed-off-by: NAlex Deucher <alexander.deucher@amd.com>
      Cc: stable@vger.kernel.org
      03ed8cf9
    • O
      drm/radeon: Another card with wrong primary dac adj · f7929f34
      Ondrej Zary 提交于
      Hello,
      got another card with "too bright" problem:
      Sapphire Radeon VE 7000 DDR (VGA+S-Video)
      
      lspci -vnn:
      01:00.0 VGA compatible controller [0300]: Advanced Micro Devices [AMD] nee ATI RV100 QY [Radeon 7000/VE] [1002:5159] (prog-if 00 [VGA controller])
              Subsystem: PC Partner Limited Sapphire Radeon VE 7000 DDR [174b:7c28]
      
      The patch below fixes the problem for this card.
      But I don't like the blacklist, couldn't some heuristic be used instead?
      The interesting thing is that the manufacturer is the same as the other card
      needing the same quirk. I wonder how many different types are broken this way.
      
      The "wrong" ps2_pdac_adj value that comes from BIOS on this card is 0x300.
      
      ====================
      drm/radeon: Add primary dac adj quirk for Sapphire Radeon VE 7000 DDR
      
      Values from BIOS are wrong, causing too bright colors.
      Use default values instead.
      Signed-off-by: NOndrej Zary <linux@rainbow-software.org>
      Signed-off-by: NAlex Deucher <alexander.deucher@amd.com>
      Cc: stable@vger.kernel.org
      f7929f34
    • A
      drm/radeon: fix endian issues with DP handling (v3) · 34be8c9a
      Alex Deucher 提交于
      The atom interpreter expects data in LE format, so
      swap the message buffer as apprioriate.
      
      v2: properly handle non-dw aligned byte counts.
      v3: properly handle remainder
      Signed-off-by: NAlex Deucher <alexander.deucher@amd.com>
      Cc: Dong He <hedonghust@gmail.com>
      Cc: stable@vger.kernel.org
      34be8c9a
    • A
      drm/radeon/vm: only align the pt base to 32k · 3e3e53f8
      Alex Deucher 提交于
      fixes:
      https://bugs.freedesktop.org/show_bug.cgi?id=67016Signed-off-by: NAlex Deucher <alexander.deucher@amd.com>
      Cc: stable@vger.kernel.org
      3e3e53f8
    • A
      drm/radeon: wait for 3D idle before using CP DMA · 745a39a9
      Alex Deucher 提交于
      Make sure the 3D engine is idle before using CP DMA for
      bo copies.
      Signed-off-by: NAlex Deucher <alexander.deucher@amd.com>
      Cc: Marek Olšák <maraeo@gmail.com>
      745a39a9
  7. 18 7月, 2013 6 次提交