Announcement

Collapse
No announcement yet.

It Looks Like AMDGPU DC (DAL) Will Not Be Accepted In The Linux Kernel

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Originally posted by bridgman View Post
    You do understand that Alex is not part of the DAL team, right ?
    he can't understand that, he is disoriented idiot

    Comment


    • Originally posted by dungeon View Post

      for better picture of the whole story someone should just make a list of all features for Windows which are maded on top of DAL and to realise that thing tend to be huge
      just a few come to mind... far from complete list I don't feel like logging in over the weekend to remind how big the list is. Did not include stuff we already support upstream

      Functionality
      • FreeSync in full screen mode
      • FreeSync window mode
      • 8k@30Hz, 5k@60hz, 4k@120Hz with DP1.4 HBR3
      • HDMI 2.0: 4k@60
      • HDMI deep color up to 12bpcc
      • VR headsets
      • HDCP: Play protected content
      • DP and HDMI audio. support up to 8 channel audio and HD formats
      • Bad HDMI/DP cable detection
      • Virtual support resolution - via downscaling
      • HDR (high dynamic range)
      • Timing Sync / Frame sync across multiple GPU

      Performance Optimization
      • FreeSync refresh rate ramping: reduce panel flicker due to luminance change (which scale with refresh rate) and allow free sync to work on sub-optimal panel
      • FreeSync below the range: go as low as half of min refresh rate supported by monitor.
      • Direct Flip: switching between different frame buffer formats without requiring full mode set.
      • Enhanced scaling quality: amdgpu only support HW default 2 taps auto-scale. DAL computes and programs the scaler maximizing image quality
      • Enhanced color: more precise gamma curve, color gamut correction.
      • A few more fps, lots of work goes into optimize display memory request patterns to not get in the way of rendering

      Power Optimization
      • burst display read from memory keep DRAM self-refresh as much as possible. = hours of idle battery life
      • Frame buffer compression: reduce memory bandwidth. ~half hour battery
      • multip-plane overlay / android surface flinger: allow direct scan out of decode video and skip composition to desktop. = hours of batter life when watching video
      • allow dynamic memory clock switch in multi-display use case. ~40 watts of saving on Hawaii
      • power gating / clock gating: power off idle HW blocks

      Comment


      • Originally posted by dungeon View Post

        And that is whole story, linux devs traditionally wanna something very easy or as easiest as possibile maintanable but this one is nothing easy...
        The complexity in display come from it being a real time constant memory fetch subsystem. While your CUs, video encode decode just suffer frame drop or lower FPS, you will get a nasty flickering or flashing blank screen if display's real time latency and bandwidth requirement isn't met.

        Display account for most of the power consumption when your system is idling. While you are reading this post your GPU is 99.9% idle. However display still need to fetch 60 frames a second even if your screen hasn't update in past 10 seconds before you scroll down.

        Leave a lot of clock margins, keep all caches, hw blocks and internal high bandwidth buses powered up at all time then you won't run into any problem. If modes above 300Mpix (4k@30) and power consumption isn't a concern there is no reason to have more than 10k or 20k lines of simple code to light up a display. You will still get a display if you bypass most of the HW added to display pipeline to enhance the quality of final output image.

        Anyways I am sure we can workout something that works for maintainer in terms of maintainablity and our internal requirements, including delivering feature rich and performance/power optimized driver on linux. We will continue discuss the RFC in public and if you are interested in some of the discussion you can start from https://lists.freedesktop.org/archiv...er/126698.html as this thread is about to get technical.

        Comment


        • Originally posted by pal666 View Post
          you utterly failed to understand what he said. he said that hal is already written by other team and they don't have people to rewrite it. if some imaginary community contributor jumps in and rewrites it, everybody would be happy. so who is that opensource champion?

          > Just an added note on that: I do think that there's some driver teams
          > who've managed to pull a shared codebase between validation and upstream
          > linux (iirc some of the intel wireless drivers work like that). But it
          > requires careful aligning of everything, and with something fast-moving
          > like drm it might become real painful and not really worth it. So not
          > outright rejecting DC (and the code sharing you want to achieve with it)
          > as an idea here.
          I think we have to make it work. We don't have the resources to have separate validation and Linux core teams. It's not just the coding. Much of our validation and compliance testing on Linux leverages this as well. From our perspective, I think the pain is probably worth it at this point. Display is starting to eclipse other blocks as far as complexity. Not even just the complexity of lighting up complex topologies. The really tough stuff is that display is basically a real-time service and the hw is designed with very little margin for error with respect to timing and bandwidth. That's where much of the value comes from sharing resources with validation teams. For us, that makes the potential pain of dealing with fast moving drm worth it. This is not to say that we won't adopt more use of drm infrastructure, we are working on it within the bounds of our resource constraints. Alex
          So, I'm not quite sure what you're arguing about (especially with the "opensource champion" remark).

          Comment


          • Originally posted by pal666 View Post
            you utterly failed to understand what he said. he said that hal is already written by other team and they don't have people to rewrite it. if some imaginary community contributor jumps in and rewrites it, everybody would be happy. so who is that opensource champion?
            That would only work if the open source champion was also willing to rewrite support for every new chip that came out and to port fixes from the DAL/DC code we publish to the rewritten form. Otherwise nobody would be happy.
            Test signature

            Comment


            • Originally posted by bridgman View Post
              That would only work if the open source champion was also willing to rewrite support for every new chip that came out and to port fixes from the DAL/DC code we publish to the rewritten form. Otherwise nobody would be happy.
              well, you still have to do it without imaginary help, so if someone will do part of your work for you, it is strictly beneficial

              Comment


              • Michael, I think you 'forgot' 'yet' in articles heading.

                Comment


                • Originally posted by liam View Post
                  So, I'm not quite sure what you're arguing about (especially with the "opensource champion" remark).
                  i am not surprised
                  remark was regarding dave's question in mail mentioned in article

                  Comment


                  • Originally posted by pal666 View Post
                    well, you still have to do it without imaginary help, so if someone will do part of your work for you, it is strictly beneficial
                    Not really. If your hypothetical open source champion works closely with our driver teams for all the other platforms that will share the code to come up with a solution that fits the Linux kernel *and* can be made work for the other platforms then it is strictly beneficial. That's what we have to do.

                    If they just start ripping parts out of the Linux copy and ignoring all the other platforms that just makes even more work for everyone because the code will no longer be shareable across platforms and so support for every new chip we introduce will have to go through the same transmogrification process - additional work which would not be required if the changes had been worked out cross-platform in the first place.
                    Last edited by bridgman; 11 December 2016, 12:41 PM.
                    Test signature

                    Comment


                    • Originally posted by veritas View Post
                      Michael, I think you 'forgot' 'yet' in articles heading.
                      The headline should be "AMD sends RFC to help with DC/DAL planning, gets strongly worded answer to question they didn't ask".

                      The article is based on the assumption that we will never change the DC interface, while Harry's RFC already talked about continuing to clean up and reduce abstractions in DC prior to upstreaming.
                      Last edited by bridgman; 11 December 2016, 12:50 PM.
                      Test signature

                      Comment

                      Working...
                      X