Announcement

Collapse
No announcement yet.

AMDGPU Firmware Blobs Updated For Video Encode/Decode

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

  • #11
    How hard are these blobs to reverse engineer? How large are they? I have a feeling these companies are forced to include these types of things.

    Comment


    • #12
      Originally posted by Goddard View Post
      How hard are these blobs to reverse engineer? How large are they? I have a feeling these companies are forced to include these types of things.
      Think about it, without the firmware the kernel driver would have to be filled full with tables of hardcoded register values and hardware state information. And every single product is going to have different values. It's just not feasible. It's -the- reason radeonhd failed as a modesetting driver, there is just too much hardware specific information to code for.

      We definitely would not have open source driver in this advanced state of development without these firmwares.

      Comment


      • #13
        Originally posted by duby229 View Post

        Think about it, without the firmware the kernel driver would have to be filled full with tables of hardcoded register values and hardware state information. And every single product is going to have different values. It's just not feasible. It's -the- reason radeonhd failed as a modesetting driver, there is just too much hardware specific information to code for.

        We definitely would not have open source driver in this advanced state of development without these firmwares.
        The firmwares could be open source but have their own trees. When compiled they would result in the files as we load and use them today. Not everything needs to be in the same tree as the kernel.

        Somewhere the developers of those firmwares have exactly that.

        Comment


        • #14
          Originally posted by andrebrait View Post
          The firmwares could be open source but have their own trees. When compiled they would result in the files as we load and use them today. Not everything needs to be in the same tree as the kernel.

          Somewhere the developers of those firmwares have exactly that.
          We have the RTL source trees as well, but we are not opening up that part of the hardware design either.

          The *drivers* are open source. The *hardware* (which includes microcode) is not.
          Test signature

          Comment


          • #15
            Originally posted by Goddard View Post
            How hard are these blobs to reverse engineer? How large are they? I have a feeling these companies are forced to include these types of things.
            We could do everything with discrete logic rather than state machines and microcode, or deliver the microcode in on-die ROM rather than executing it from RAM, but the hardware would take longer to design and validate.

            The fact that some of the hardware is implemented using microcode doesn't magically make it part of the driver.

            You can get an idea of file sizes here:

            https://git.kernel.org/pub/scm/linux...it/tree/amdgpu
            Last edited by bridgman; 19 January 2018, 12:03 PM.
            Test signature

            Comment


            • #16
              Originally posted by WolfpackN64 View Post
              Why? They make the hardware, they can do with the software what they want.
              I'm just telling you why they don't want. These firmwares will stay closed source because they are very close to the hardware, which is proprietary, and they won't open them up for the same reasons they don't publish full hardware schematics.

              Comment


              • #17
                Originally posted by bridgman View Post

                We have the RTL source trees as well, but we are not opening up that part of the hardware design either.

                The *drivers* are open source. The *hardware* (which includes microcode) is not.
                Firmware -is- software. I think what you mean is that information about how to program the hardware at a very low level is not open source. Because that's what firmware does, it is not itself hardware, it programs hardware at a very low level.

                Comment


                • #18
                  Originally posted by Goddard View Post
                  How hard are these blobs to reverse engineer? How large are they? I have a feeling these companies are forced to include these types of things.
                  Reverse-engineering is pointless, they are signed with a crypto key so you can't load your own modified ones anyway (this is the case for NVIDIA for sure, I don't know for AMD but I think it's the same).

                  Comment


                  • #19
                    Originally posted by duby229 View Post
                    Firmware -is- software. I think what you mean is that information about how to program the hardware at a very low level is not open source. Because that's what firmware does, it is not itself hardware, it programs hardware at a very low level.
                    If the same microcode was delivered via on-die ROM would it still be software to you ?
                    Test signature

                    Comment


                    • #20
                      Originally posted by duby229 View Post
                      Firmware -is- software. I think what you mean is that information about how to program the hardware at a very low level is not open source. Because that's what firmware does, it is not itself hardware, it programs hardware at a very low level.
                      Debating semantics. These firmware are technically software but should be treated as part of the hardware due to their very low level.

                      It's not ME or PSP or anything remotely advanced and complex and dangerous. These things teach a specific silicon circuit how to operate itself.

                      Comment

                      Working...
                      X