<html>
    <head>
      <base href="https://bugs.freedesktop.org/">
    </head>
    <body><table border="1" cellspacing="0" cellpadding="8">
        <tr>
          <th>Bug ID</th>
          <td><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - amdgpu 4k modes not working"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=109499">109499</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>amdgpu 4k modes not working
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>DRI
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>unspecified
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>x86-64 (AMD64)
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>Linux (All)
          </td>
        </tr>

        <tr>
          <th>Status</th>
          <td>NEW
          </td>
        </tr>

        <tr>
          <th>Severity</th>
          <td>normal
          </td>
        </tr>

        <tr>
          <th>Priority</th>
          <td>medium
          </td>
        </tr>

        <tr>
          <th>Component</th>
          <td>DRM/AMDgpu-pro
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>dri-devel@lists.freedesktop.org
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>snorkellingcactus@gmail.com
          </td>
        </tr></table>
      <p>
        <div>
        <pre>Hi.
    We have an AMD W7100. We are trying to use two DisplayPort at 3840x2160.

    Firstly, those modes are not listed by xrandr

    Second, adding and setting a new xrandr mode may work only after replugging
DisplayPort cables on other DisplayPort (for example, disconnecting DP0 and DP1
and connecting to DP2 and DP3).

    Then, fix will not persist across reboots.

    EDID seems to behave flaky by some reason (EDID invalid messages from
dmesg)

    We however have a vendor provided EDID which we forced to be loaded on
boot.

    That only changed available modes to a max of 1920x1080 but symptoms kept
being the same. (edid-decode info shows 3840x2160 modes however)

    We tried thousands of options/configs.

    We are on Ubuntu 16.04.

    We tried amdgpu-pro 18.30 and 18.10 version of the driver, with kernel 4.15
and kernel 4.13, using amdgpu.dc=0 and amdgpu.dc=1, using amdgpu and
modesetting as driver on xorg.

    The errors dmesg throws when adding/setting the 3840x2160 with xrandr are
like:

X Error of failed request:  BadName (named color or font does not exist)
Major opcode of failed request:  140 (RANDR)
Minor opcode of failed request:  16 (RRCreateMode)
Serial number of failed request:  43
Current serial number in output stream:  43
[241317.628306] [drm:drm_crtc_helper_set_config [drm_kms_helper]] *ERROR*
failed to set mode on [CRTC:37:crtc-0]
xrandr: Configure crtc 0 failed
xrandr: Configure crtc 1 failed
[241317.940299] [drm:drm_crtc_helper_set_config [drm_kms_helper]] *ERROR*
failed to set mode on [CRTC:39:crtc-1]

On some setup, with drm debug enabled on kernel and when trying to set the 
3840x2160 mode with xrandr dmesg trhow:

[    7.638690] [drm:drm_mode_prune_invalid [drm]] Not using 3840x2160 mode:
CLOCK_HIGH

When using amdgpu.dc=1 that changed to something like:

X Error of failed request:  BadName (named color or font does not exist)
  Major opcode of failed request:  140 (RANDR)
  Minor opcode of failed request:  16 (RRCreateMode)
  Serial number of failed request:  39
  Current serial number in output stream:  39
[ 4482.053606] [drm:amdgpu_dm_atomic_commit_tail [amdgpu]] amdgpu_crtc id:0
crtc_state_flags: enable:0, active:0, planes_changed:0,
mode_changed:0,active_changed:0,connectors_changed:0
[ 4482.056191] [drm:drm_mode_setcrtc [drm]] [CRTC:43:crtc-0]
[ 4482.056232] [drm:drm_mode_setcrtc [drm]] [CONNECTOR:55:DP-1]
[ 4482.056390] [drm:best_encoder [amdgpu]] Finding the best encoder
[ 4482.056530] [drm:best_encoder [amdgpu]] Finding the best encoder
[ 4482.056661] [drm:best_encoder [amdgpu]] Finding the best encoder
[ 4482.056839] [drm:dm_update_crtcs_state [amdgpu]] amdgpu_crtc id:0
crtc_state_flags: enable:1, active:1, planes_changed:0,
mode_changed:1,active_changed:1,connectors_changed:1
[ 4482.057041] [drm:update_stream_scaling_settings [amdgpu]] Destination
Rectangle x:0  y:0  width:3840  height:2160
[ 4482.057201] [drm:dm_update_crtcs_state [amdgpu]] amdgpu_crtc id:0
crtc_state_flags: enable:1, active:1, planes_changed:0,
mode_changed:1,active_changed:1,connectors_changed:1
[ 4482.057357] [drm:dm_update_crtcs_state [amdgpu]] Enabling DRM crtc: 43
[ 4482.057539] [drm:dm_update_planes_state [amdgpu]] Enabling DRM plane: 41 on
DRM crtc 43
[ 4482.057687] [drm:amdgpu_dm_atomic_check [amdgpu]] Atomic check failed with
err: -22 
xrandr: Configure crtc 0 failed
[ 4482.092223] [drm:amdgpu_dm_atomic_commit_tail [amdgpu]] amdgpu_crtc id:0
crtc_state_flags: enable:0, active:0, planes_changed:0,
mode_changed:0,active_changed:0,connectors_changed:0
xrandr: Configure crtc 0 failed
[ 4482.094553] [drm:drm_mode_setcrtc [drm]] [CRTC:43:crtc-0]
[ 4482.094567] [drm:drm_mode_setcrtc [drm]] [CONNECTOR:57:DP-2]
[ 4482.094622] [drm:best_encoder [amdgpu]] Finding the best encoder
[ 4482.094668] [drm:best_encoder [amdgpu]] Finding the best encoder
[ 4482.094713] [drm:best_encoder [amdgpu]] Finding the best encoder
[ 4482.094761] [drm:dm_update_crtcs_state [amdgpu]] amdgpu_crtc id:0
crtc_state_flags: enable:1, active:1, planes_changed:0,
mode_changed:1,active_changed:1,connectors_changed:1
[ 4482.094809] [drm:update_stream_scaling_settings [amdgpu]] Destination
Rectangle x:0  y:0  width:3840  height:2160
[ 4482.094849] [drm:dm_update_crtcs_state [amdgpu]] amdgpu_crtc id:0
crtc_state_flags: enable:1, active:1, planes_changed:0,
mode_changed:1,active_changed:1,connectors_changed:1
[ 4482.094887] [drm:dm_update_crtcs_state [amdgpu]] Enabling DRM crtc: 43
[ 4482.094938] [drm:dm_update_planes_state [amdgpu]] Enabling DRM plane: 41 on
DRM crtc 43
[ 4482.094979] [drm:amdgpu_dm_atomic_check [amdgpu]] Atomic check failed with
err: -22

We also tried various modelines, reported by dmesg, by xorg and by edid-decode.
So i think we tried modelines with clock less than ¿ 300000khz ? aprox.

Bug seems similar to <a class="bz_bug_link 
          bz_status_RESOLVED  bz_closed"
   title="RESOLVED FIXED - HDMI 2.0 4k EDIDs not available (Radeon RX Vega 56)"
   href="show_bug.cgi?id=102985">https://bugs.freedesktop.org/show_bug.cgi?id=102985</a>

Which mentions something about the driver not taking some part of the EDID
modes upper to 64.

Dont know however which commit introduced that change to test it on Ubuntu
16.04 / Linux 4.15.

The commit mentioned on that bug report seems invalid / obsolete.

xrandr commands are like:

xrandr --newmode "3840" 297.00 3840 4016 4104 4400  2160 2168 2178 2250 +hsync
+vsync
xrandr --addmode DisplayPort-0 "3840"
xrandr --output DisplayPort-0 --mode "3840"</pre>
        </div>
      </p>


      <hr>
      <span>You are receiving this mail because:</span>

      <ul>
          <li>You are the assignee for the bug.</li>
      </ul>
    </body>
</html>