Announcement

Collapse
No announcement yet.

HDMI Audio for Evergreen

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

  • #16
    Originally posted by mdias View Post
    No offense, but I can't see how reverse engineering a recent graphics card is "quite simple and fast". Any info on this?
    "Simple and fast" compared to waiting for the documentation.

    Comment


    • #17
      Originally posted by Deathsimple View Post
      "Simple and fast" compared to waiting for the documentation.
      Ok, so... if its that simple, why haven't you finished it yet?

      Comment


      • #18
        Originally posted by droidhacker View Post
        Ok, so... if its that simple, why haven't you finished it yet?
        Because I don't have evergreen hardware here.

        For the initially reverse engineering of a single R6xx chipset I needed around two month. Another month for getting the other R6xx chipsets working (without having the hardware available and just with logs and register dumps).

        Then we tried to get R7xx working for a couple of weeks without having direct access to the hardware (only with register dumps), but failed because of some internal wiring differences to the R6xx chipset. We only got R7xx working because I finally surrendered and bought new hardware, with this testing machine available it was just a matter of days to get it working.

        Comment


        • #19
          Originally posted by Deathsimple View Post
          Because I don't have evergreen hardware here.

          For the initially reverse engineering of a single R6xx chipset I needed around two month. Another month for getting the other R6xx chipsets working (without having the hardware available and just with logs and register dumps).

          Then we tried to get R7xx working for a couple of weeks without having direct access to the hardware (only with register dumps), but failed because of some internal wiring differences to the R6xx chipset. We only got R7xx working because I finally surrendered and bought new hardware, with this testing machine available it was just a matter of days to get it working.
          Wait.... are you THE Christian König then?
          If so, I apologize.
          Where can we mail a card?

          Comment


          • #20
            Originally posted by droidhacker View Post
            Wait.... are you THE Christian König then?
            If so, I apologize.
            Where can we mail a card?
            LOL, you could start with contacting me by mail (deathsimple@vodafone.de).

            Getting hardware to test would only be my last resort, somebody who could take over the evergreen HDMI support entirely, so I can concentrate on video decoding, would be really preferred.

            Understanding how the hardware work isn't as hard as it sounds in the first place.

            Comment


            • #21
              hehe sounds like you'll need to send a Popeil pocket dev with that card droidhacker
              Those who would give up Essential Liberty to purchase a little Temporary Safety,deserve neither Liberty nor Safety.
              Ben Franklin 1755

              Comment


              • #22
                Sending some hardware is not a problem, but I definitely prefer video decoding
                ## VGA ##
                AMD: X1950XTX, HD3870, HD5870
                Intel: GMA45, HD3000 (Core i5 2500K)

                Comment


                • #23
                  Originally posted by darkbasic View Post
                  Sending some hardware is not a problem, but I definitely prefer video decoding
                  Yeah, I tend to agree with that. Video decoding is a much more significant undertaking. Conflicted now.... sending a card may be a distraction.

                  Understanding how the hardware work isn't as hard as it sounds in the first place.
                  Really? I myself wouldn't mind hacking on it... only problem is I have no idea where to begin. My background is in network protocols, my only experience in video card drivers involves being hand held by Alex through hacking on the radeon KMS driver to get the defective (by design) DP port on my mainboard activated in DVI mode.... ECS had the brilliant idea to not hook up all the pins.

                  Comment


                  • #24
                    Originally posted by droidhacker View Post
                    Really? I myself wouldn't mind hacking on it... only problem is I have no idea where to begin. My background is in network protocols, my only experience in video card drivers involves being hand held by Alex through hacking on the radeon KMS driver to get the defective (by design) DP port on my mainboard activated in DVI mode.... ECS had the brilliant idea to not hook up all the pins.
                    Yea, if you already touched the KMS code take a look at the following files:
                    drivers/gpu/drm/radeon/r600_audio.c
                    drivers/gpu/drm/radeon/r600_hdmi.c

                    The whole HDMI support is implemented mostly in these two files. r600_audio.c (just 281 lines of code) is responsible for the communication with the alsa driver and contains mostly functions to figure out the currently playing audio format. r600_hdmi.c (just 585 lines of code) uses the infos about the currently playing audio format and the current video resolution to program how the audio and video signal are mixed together into the registers of one of the HDMI blocks (there is usually one HDMI block for each display connector on your card).

                    Of course you need a testing environment: evergreen hardware + something that can play audio over HDMI, a pretty normal LCD television should be enough. As software you need a system were you can easily switch between a catalyst and KMS, beside that you also need radeontool (should be part of the distribution) to manually set registers in the hardware from a commandline, also all that stuff needed to compile a kernel by yourself could be helpful.

                    The rest should be only allot of try&error to figure out the differences between R7xx and evergreen. I would suggest starting with playing an audio file with catalyst and while playing disable the audio block with radeontool (look at the enable/disbale functions in r600_audio.c how to do this). If the audio stops playing we have made sure that the audio block is still at the same register address.

                    Contact me by mail and I can easily explain how to figure out the rest.

                    Comment


                    • #25
                      That actually looks doable.... I'm going to try this.
                      Going to pick up an ASUS EAH5450, nice entry level evergreen card. Cheap.

                      Comment


                      • #26
                        Originally posted by droidhacker View Post
                        That actually looks doable.... I'm going to try this.
                        Going to pick up an ASUS EAH5450, nice entry level evergreen card. Cheap.
                        Hey dh, any progress/news?

                        Comment


                        • #27
                          Originally posted by DanL View Post
                          Hey dh, any progress/news?
                          Sorry, haven't even been able to make it to the store yet.

                          Comment


                          • #28
                            HDMI-audio working fine on HD 5770, but...

                            Finally I can enjoy HDMI-audio on my HD 5770, since kernel 3.3.x series - one cable less, hooray!

                            BUT
                            one issue is left which is annoying me:

                            When the screensaver kicks in, HDMI audio playback is also muted. This doesn't happen when I output the sound via SP/DIF. HDMI and SP/DIF are both connected to my DENON AVR 1612. Is there any other solution apart from disabling the screensaver completely?

                            Comment


                            • #29
                              Originally posted by schwarzygesetzlos View Post
                              Finally I can enjoy HDMI-audio on my HD 5770, since kernel 3.3.x series - one cable less, hooray!

                              BUT
                              one issue is left which is annoying me:

                              When the screensaver kicks in, HDMI audio playback is also muted. This doesn't happen when I output the sound via SP/DIF. HDMI and SP/DIF are both connected to my DENON AVR 1612. Is there any other solution apart from disabling the screensaver completely?
                              The audio is mixed into the display stream, if you turn off the display, you also turn off the audio.

                              Comment


                              • #30
                                Originally posted by agd5f View Post
                                The audio is mixed into the display stream, if you turn off the display, you also turn off the audio.
                                Thanks for the quick reply! Too bad for me then, I can't imagine an easy solution for this problem...

                                Comment

                                Working...
                                X