<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/drivers/gpu/drm/radeon/rs600.c, branch linux-4.17.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.</subtitle>
<id>https://universe.0xinfinity.dev/distro/kernel/atom?h=linux-4.17.y</id>
<link rel='self' href='https://universe.0xinfinity.dev/distro/kernel/atom?h=linux-4.17.y'/>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/'/>
<updated>2016-05-05T00:19:03Z</updated>
<entry>
<title>drm/radeon: Support DRM_MODE_PAGE_FLIP_ASYNC</title>
<updated>2016-05-05T00:19:03Z</updated>
<author>
<name>Michel Dänzer</name>
<email>michel.daenzer@amd.com</email>
</author>
<published>2016-04-01T09:51:34Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=c63dd758589b1f7e8398841d1f443f06ebfbcefc'/>
<id>urn:sha1:c63dd758589b1f7e8398841d1f443f06ebfbcefc</id>
<content type='text'>
When this flag is set, we program the hardware to execute the flip
during horizontal blank (i.e. for the next scanline) instead of during
vertical blank (i.e. for the next frame).

Currently this is only supported on ASICs which have a page flip
completion interrupt (&gt;= R600), and only if the use_pflipirq parameter
has value 2 (the default).

Reviewed-by: Christian König &lt;christian.koenig@amd.com&gt;
Signed-off-by: Michel Dänzer &lt;michel.daenzer@amd.com&gt;
Signed-off-by: Alex Deucher &lt;alexander.deucher@amd.com&gt;
</content>
</entry>
<entry>
<title>drm/radeon: don't include RADEON_HPD_NONE in HPD IRQ enable bitsets</title>
<updated>2016-05-02T19:25:40Z</updated>
<author>
<name>Nicolai Stange</name>
<email>nicstange@gmail.com</email>
</author>
<published>2016-03-22T21:05:27Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=b2c0cbd657173f024138d6421774007690ceeffd'/>
<id>urn:sha1:b2c0cbd657173f024138d6421774007690ceeffd</id>
<content type='text'>
The values of all but the RADEON_HPD_NONE members of the radeon_hpd_id
enum transform 1:1 into bit positions within the 'enabled' bitset as
assembled by evergreen_hpd_init():

  enabled |= 1 &lt;&lt; radeon_connector-&gt;hpd.hpd;

However, if -&gt;hpd.hpd happens to equal RADEON_HPD_NONE == 0xff, UBSAN
reports

  UBSAN: Undefined behaviour in drivers/gpu/drm/radeon/evergreen.c:1867:16
  shift exponent 255 is too large for 32-bit type 'int'
  [...]
  Call Trace:
   [&lt;ffffffff818c4d35&gt;] dump_stack+0xbc/0x117
   [&lt;ffffffff818c4c79&gt;] ? _atomic_dec_and_lock+0x169/0x169
   [&lt;ffffffff819411bb&gt;] ubsan_epilogue+0xd/0x4e
   [&lt;ffffffff81941cbc&gt;] __ubsan_handle_shift_out_of_bounds+0x1fb/0x254
   [&lt;ffffffffa0ba7f2e&gt;] ? atom_execute_table+0x3e/0x50 [radeon]
   [&lt;ffffffff81941ac1&gt;] ? __ubsan_handle_load_invalid_value+0x158/0x158
   [&lt;ffffffffa0b87700&gt;] ? radeon_get_pll_use_mask+0x130/0x130 [radeon]
   [&lt;ffffffff81219930&gt;] ? wake_up_klogd_work_func+0x60/0x60
   [&lt;ffffffff8121a35e&gt;] ? vprintk_default+0x3e/0x60
   [&lt;ffffffffa0c603c4&gt;] evergreen_hpd_init+0x274/0x2d0 [radeon]
   [&lt;ffffffffa0c603c4&gt;] ? evergreen_hpd_init+0x274/0x2d0 [radeon]
   [&lt;ffffffffa0bd196e&gt;] radeon_modeset_init+0x8ce/0x18d0 [radeon]
   [&lt;ffffffffa0b71d86&gt;] radeon_driver_load_kms+0x186/0x350 [radeon]
   [&lt;ffffffffa03b6b16&gt;] drm_dev_register+0xc6/0x100 [drm]
   [&lt;ffffffffa03bc8c4&gt;] drm_get_pci_dev+0xe4/0x490 [drm]
   [&lt;ffffffff814b83f0&gt;] ? kfree+0x220/0x370
   [&lt;ffffffffa0b687c2&gt;] radeon_pci_probe+0x112/0x140 [radeon]
   [...]
  =====================================================================
  radeon 0000:01:00.0: No connectors reported connected with modes

At least on x86, there should be no user-visible impact as there

  1 &lt;&lt; 0xff == 1 &lt;&lt; (0xff &amp; 31) == 1 &lt;&lt; 31

holds and 31 &gt; RADEON_MAX_HPD_PINS. Thus, this patch is a cosmetic one.

All of the above applies analogously to evergreen_hpd_fini(),
r100_hpd_init(), r100_hpd_fini(), r600_hpd_init(), r600_hpd_fini(),
rs600_hpd_init() and rs600_hpd_fini()

Silence UBSAN by checking -&gt;hpd.hpd for RADEON_HPD_NONE before oring it
into the 'enabled' bitset in the *_init()- or the 'disabled' bitset in
the *_fini()-functions respectively.

Signed-off-by: Nicolai Stange &lt;nicstange@gmail.com&gt;
Signed-off-by: Alex Deucher &lt;alexander.deucher@amd.com&gt;
</content>
</entry>
<entry>
<title>drm/radeon: allow to force hard GPU reset.</title>
<updated>2016-05-02T17:08:54Z</updated>
<author>
<name>Jérome Glisse</name>
<email>jglisse@redhat.com</email>
</author>
<published>2016-03-18T15:58:38Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=71fe289970430fca85c7c8da5a829e65764e081b'/>
<id>urn:sha1:71fe289970430fca85c7c8da5a829e65764e081b</id>
<content type='text'>
In some cases, like when freezing for hibernation, we need to be
able to force hard reset even if no engine are stuck. This patch
add a bool option to current asic reset callback to allow to force
hard reset on asic that supports it.

Reviewed-by: Christian König &lt;christian.koenig@amd.com&gt;
Signed-off-by: Jérôme Glisse &lt;jglisse@redhat.com&gt;
Cc: Alex Deucher &lt;alexander.deucher@amd.com&gt;
Cc: Christian König &lt;christian.koenig@amd.com&gt;
Signed-off-by: Alex Deucher &lt;alexander.deucher@amd.com&gt;
</content>
</entry>
<entry>
<title>drm/radeon: Retry DDC probing on DVI on failure if we got an HPD interrupt</title>
<updated>2015-12-04T18:09:12Z</updated>
<author>
<name>Lyude</name>
<email>cpaul@redhat.com</email>
</author>
<published>2015-12-03T23:26:07Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=cb5d41664375ad4fbe47bdae745bb6fe8d837e68'/>
<id>urn:sha1:cb5d41664375ad4fbe47bdae745bb6fe8d837e68</id>
<content type='text'>
HPD signals on DVI ports can be fired off before the pins required for
DDC probing actually make contact, due to the pins for HPD making
contact first. This results in a HPD signal being asserted but DDC
probing failing, resulting in hotplugging occasionally failing.

This is somewhat rare on most cards (depending on what angle you plug
the DVI connector in), but on some cards it happens constantly. The
Radeon R5 on the machine used for testing this patch for instance, runs
into this issue just about every time I try to hotplug a DVI monitor and
as a result hotplugging almost never works.

Rescheduling the hotplug work for a second when we run into an HPD
signal with a failing DDC probe usually gives enough time for the rest
of the connector's pins to make contact, and fixes this issue.

Reviewed-by: Christian König &lt;christian.koenig@amd.com&gt;
Signed-off-by: Lyude &lt;cpaul@redhat.com&gt;
Signed-off-by: Alex Deucher &lt;alexander.deucher@amd.com&gt;
</content>
</entry>
<entry>
<title>drm/radeon: do a posting read in rs600_set_irq</title>
<updated>2015-03-03T22:28:27Z</updated>
<author>
<name>Alex Deucher</name>
<email>alexander.deucher@amd.com</email>
</author>
<published>2015-03-03T01:39:56Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=54acf107e4e66d1f4a697e08a7f60dba9fcf07c3'/>
<id>urn:sha1:54acf107e4e66d1f4a697e08a7f60dba9fcf07c3</id>
<content type='text'>
To make sure the writes go through the pci bridge.

bug:
https://bugzilla.kernel.org/show_bug.cgi?id=90741

Signed-off-by: Alex Deucher &lt;alexander.deucher@amd.com&gt;
Cc: stable@vger.kernel.org
</content>
</entry>
<entry>
<title>Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux into drm-next</title>
<updated>2015-01-29T01:45:31Z</updated>
<author>
<name>Dave Airlie</name>
<email>airlied@gmail.com</email>
</author>
<published>2015-01-29T01:45:31Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=b3869b17fd63bacb53ac4db4ff4ba093701e17be'/>
<id>urn:sha1:b3869b17fd63bacb53ac4db4ff4ba093701e17be</id>
<content type='text'>
This backmerges drm-fixes into drm-next mainly for the amdkfd
stuff, I'm not 100% confident, but it builds and the amdkfd
folks can fix anything up.

Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
Conflicts:
	drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c
	drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.h
</content>
</entry>
<entry>
<title>drm/radeon: Split off gart_get_page_entry ASIC hook from set_page_entry</title>
<updated>2015-01-22T16:46:17Z</updated>
<author>
<name>Michel Dänzer</name>
<email>michel.daenzer@amd.com</email>
</author>
<published>2015-01-21T08:36:35Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=cb65890610dca287718a63bd8a5d9ce3dc80c3d7'/>
<id>urn:sha1:cb65890610dca287718a63bd8a5d9ce3dc80c3d7</id>
<content type='text'>
get_page_entry calculates the GART page table entry, which is just written
to the GART page table by set_page_entry.

This is a prerequisite for the following fix.

Reviewed-by: Christian König &lt;christian.koenig@amd.com&gt;
Cc: stable@vger.kernel.org
Signed-off-by: Michel Dänzer &lt;michel.daenzer@amd.com&gt;
Signed-off-by: Alex Deucher &lt;alexander.deucher@amd.com&gt;
</content>
</entry>
<entry>
<title>radeon/audio: consolidate audio_fini() functions</title>
<updated>2015-01-22T15:42:09Z</updated>
<author>
<name>Slava Grigorev</name>
<email>slava.grigorev@amd.com</email>
</author>
<published>2014-12-03T22:07:01Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=7991d6650117064ae1d2b215b5cbb4112711ed5e'/>
<id>urn:sha1:7991d6650117064ae1d2b215b5cbb4112711ed5e</id>
<content type='text'>
Reviewed-by: Christian König &lt;christian.koenig@amd.com&gt;
Signed-off-by: Slava Grigorev &lt;slava.grigorev@amd.com&gt;
Signed-off-by: Alex Deucher &lt;alexander.deucher@amd.com&gt;
</content>
</entry>
<entry>
<title>radeon/audio: consolidate audio_init() functions</title>
<updated>2015-01-22T15:38:59Z</updated>
<author>
<name>Slava Grigorev</name>
<email>slava.grigorev@amd.com</email>
</author>
<published>2014-12-22T22:26:51Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=bfc1f97d8ac5d3dc6f7ded64ba9adbac371e912c'/>
<id>urn:sha1:bfc1f97d8ac5d3dc6f7ded64ba9adbac371e912c</id>
<content type='text'>
Reviewed-by: Christian König &lt;christian.koenig@amd.com&gt;
Signed-off-by: Slava Grigorev &lt;slava.grigorev@amd.com&gt;
Signed-off-by: Alex Deucher &lt;alexander.deucher@amd.com&gt;
</content>
</entry>
<entry>
<title>drm/radeon: make sure mode init is complete in bandwidth_update</title>
<updated>2014-11-06T20:42:44Z</updated>
<author>
<name>Alex Deucher</name>
<email>alexander.deucher@amd.com</email>
</author>
<published>2014-11-03T14:57:46Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=8efe82ca908400785253c8f0dfcf301e6bd93488'/>
<id>urn:sha1:8efe82ca908400785253c8f0dfcf301e6bd93488</id>
<content type='text'>
The power management code calls into the display code for
certain things.  If certain power management sysfs attributes
are called before the driver has finished initializing all of
the hardware we can run into problems with uninitialized
modesetting state.  Add a check to make sure modesetting
init has completed to the bandwidth update callbacks to
fix this.  Can be triggered by the tlp and laptop start
up scripts depending on the timing.

bugs:
https://bugzilla.kernel.org/show_bug.cgi?id=83611
https://bugs.freedesktop.org/show_bug.cgi?id=85771

Signed-off-by: Alex Deucher &lt;alexander.deucher@amd.com&gt;
Cc: stable@vger.kernel.org
</content>
</entry>
</feed>
