All of lore.kernel.org
 help / color / mirror / Atom feed
From: Christopher White <c.white@pulseforce.com>
To: Wu Fengguang <fengguang.wu@intel.com>
Cc: Jeremy Bush <contractfrombelow@gmail.com>,
	"intel-gfx@lists.freedesktop.org"
	<intel-gfx@lists.freedesktop.org>,
	"Wang, Zhenyu Z" <zhenyu.z.wang@intel.com>,
	"Bossart, Pierre-louis" <pierre-louis.bossart@intel.com>
Subject: Re: [PATCH v5] drm/i915: pass ELD to HDMI/DP audio driver
Date: Sat, 05 Nov 2011 01:20:11 +0100	[thread overview]
Message-ID: <4EB4813B.6060809@pulseforce.com> (raw)
In-Reply-To: <20111102014541.GA16026@localhost>

On 11/2/11 2:45 AM, Wu Fengguang wrote:
> Hi Christopher,
>
>> The log does confirm that the drm_edid_to_eld function is running, and
>> that we're not far from a solution:
>> [   21.061417] [drm:drm_edid_to_eld], ELD monitor TX-SR607
>> [   21.061421] [drm:drm_edid_to_eld], ELD size 13, SAD count 8
> It looks all sane to this point.
>
>> As for where I am getting the EDID dump from, I am getting it from
>> /sys/devices/pci0000:00/0000:00:02.0/drm/card0/card0-HDMI-A-2/edid,
>> which provides direct virtual access to the EDID response of the
>> connected device.
>>
>> I'm completely confident that the device doesn't report too small of a
>> buffer size, and that it's completely compliant with the spec: If you
> Agreed.
>
>> have a Windows virtual machine (or if you're masochistic enough - a real
>> machine) you should download the excellent, free "Monitor Asset Manager"
>> by EnTech Taiwan from http://www.entechtaiwan.com/util/moninfo.shtm. It
>> will let you analyze EDID + ELD + extended timings, etc from an EDID
>> dump, such as the one taken above. It understands every part of EDID.
>>
>> I've put together a small archive containing my exact EDID binary dump
>> (taken from the above device path), the FULL dmesg log, as well as
>> EnTech's interpretation of the EDID dump, showing the full list of
>> supported channels, formats, etc.
>>
>> I'm guessing there is some tiny bug in your interpretation of how to
>> read ELD, maybe an incorrect 1 byte offset or something like that.
>>
>> Here's the pack:
>> http://www.pulseforce.com/node/edid_to_eld.zip
> Thanks! It's great tool and information!
>
>> If you do a hex analysis of my EDID dump and compare it to what the
>> edid_to_eld function is trying to do, it will probably show what's
>> wrong. I'd love to have a look at that myself but am really busy with a
>> project over here so I can't help out other than to recompile and test
>> as fast as I can.
> Would you install the "intel-gpu-tools" package and run its
> intel_audio_dump utility? If not shipped with your distribution, the
> source code is also available in
>
> git://anongit.freedesktop.org/git/xorg/app/intel-gpu-tools
>
> You'll need to install packages "autotools-dev pkg-config
> libpciaccess-dev libdrm-dev libdrm-intel1" in order to build it from
> source.
>
> intel_audio_dump will dump the ELD data in the hardware buffer for use
> by the audio driver. By verifying if that data is correct, we are able
> to analyze whether and how the audio driver goes wrong.
>
> Thanks,
> Fengguang

I've been really busy on a project (as mentioned in my last posting) and 
apologize for the 2 day delay. The project is now done and no further 
response delays will happen. Promise.

Alright, so first of all I am glad that you found the tool and 
information useful.

Now, onto the intel-gpu-tools test. I ran intel_audio_dump as requested 
and it only comes back with "Couldn't map MMIO region: No such file or 
directory". I spent 10 minutes looking around on Google to no avail. It 
seems it tries to mmap() something that doesn't exist.

I then spent some time looking in /var/log/Xorg.0.log to double-check 
what driver it's using. It says:
"Matched intel as autoconfigured driver 0
Matched vesa as autoconfigured driver 1
Matched fbdev as autoconfigured driver 2
VESA: driver for VESA chipsets: vesa
FBDEV: driver for framebuffer: fbdev
Loading: /usr/lib/xorg/modules/drivers/intel_drv.so"

All in all it looks fine, at least as far as I can tell. I mean, we 
already KNOW the driver has to be running since I see the DRM module in 
the logs.

So, the Intel driver is running, yet whatever file intel_audio_dump is 
looking for doesn't exist.

We already know that the DRM driver is reading the correct EDID, by the 
way, since we saw "[   21.061417] [drm:drm_edid_to_eld], ELD monitor 
TX-SR607".

The EDID it's reading from is the dump I linked to in the previous posting.

To go the extra mile, I just looked at the xf86-video-intel source in 
src/reg_dumper_util.c, which is where the "Couldn't map MMIO region" 
message originated. I now see that it's not trying to mmap() a physical 
file. It tries to map the graphics card's physical memory using 
pci_device_map_range(dev, dev->regions[mmio_bar].base_addr, 
dev->regions[mmio_bar].size, PCI_DEV_MAP_FLAG_WRITABLE, &mmio);

It tries that AFTER it has already found the graphics adapter and 
verified that it's from Intel.

So, why it fails to actually map the memory of the device is anyone's 
guess. Perhaps there's no support for the HD3000 in intel_audio_dump?

Anyway, with all of this out of the way: Why not instead look at the 
EDID binary dump I sent you and step through the edid_to_eld() function 
to see what it's doing?


Christopher

  parent reply	other threads:[~2011-11-05  0:20 UTC|newest]

Thread overview: 66+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-09-02  8:14 [PATCH v4] drm/i915: pass ELD to HDMI/DP audio driver Wu Fengguang
2011-09-02  8:29 ` Wu Fengguang
2011-09-03 21:15 ` [PATCH v5] " Wu Fengguang
2011-09-04 10:57   ` James Cloos
2011-09-05  1:19     ` Wu Fengguang
2011-09-04 11:11   ` [Intel-gfx] " Paul Menzel
2011-09-05  1:06     ` Wu Fengguang
2011-09-04 12:08   ` Chris Wilson
2011-09-05  1:14     ` Wu Fengguang
2011-09-05 11:04       ` Chris Wilson
2011-09-05 12:31         ` Wu Fengguang
     [not found]           ` <4E64C41B.5090309@pulseforce.com>
     [not found]             ` <20110905124730.GB794@localhost>
     [not found]               ` <4EA82DBD.9020301@pulseforce.com>
2011-10-27 19:57                 ` Christopher White
2011-11-09  6:59                   ` Wu Fengguang
2011-11-09  9:00                     ` Christopher White
2011-11-09  9:30                       ` Christopher White
2011-11-09 13:01                         ` Wu Fengguang
     [not found]                 ` <4EA9B6EF.9040305@pulseforce.com>
2011-11-01 11:36                   ` Wu Fengguang
2011-11-01 17:00                     ` Christopher White
2011-11-02  1:45                       ` Wu Fengguang
2011-11-02  6:10                         ` Sander Jansen
2011-11-02  7:35                           ` Paul Menzel
2011-11-02 11:17                             ` Sander Jansen
2011-11-02 14:26                               ` Sander Jansen
2011-11-02  8:52                           ` Wu Fengguang
2011-11-02 17:41                             ` Keith Packard
2011-11-04  0:21                         ` Tony Olivo
2011-11-05  0:20                         ` Christopher White [this message]
2011-11-09 13:12                           ` Wu Fengguang
2011-11-10  2:25                             ` Christopher White
2011-11-10  3:27                               ` Wu Fengguang
2011-11-10  4:10                                 ` Christopher White
2011-11-10  7:06                                   ` Wu Fengguang
2011-11-10  7:33                                   ` Wu Fengguang
2011-11-10  7:55                                     ` Wu Fengguang
2011-11-10  8:50                                       ` Wu Fengguang
2011-11-10  8:55                                       ` Christopher White
2011-11-10 11:00                                         ` Christopher White
2011-11-10 11:22                                           ` Takashi Iwai
2011-11-10 11:50                                             ` Christopher White
2011-11-10 11:53                                               ` Takashi Iwai
2011-11-10 12:39                                                 ` Christopher White
2011-11-10 13:01                                                   ` Takashi Iwai
2011-11-10 12:56                                               ` Wu Fengguang
2011-11-10 13:01                                                 ` Christopher White
2011-11-10 13:17                                                   ` Wu Fengguang
2011-11-10 13:34                                                     ` Christopher White
2011-11-10 13:47                                                       ` Wu Fengguang
2011-11-10 14:12                                                         ` Wu Fengguang
2011-11-10 13:41                                                     ` Takashi Iwai
2011-11-10 13:51                                                       ` Wu Fengguang
2011-11-10 13:53                                                         ` Wu Fengguang
2011-11-10 14:28                                                         ` Takashi Iwai
2011-11-11  2:29                                                           ` Wu Fengguang
2011-11-11  7:40                                                             ` Takashi Iwai
2011-11-11  8:22                                                               ` Wu Fengguang
2011-11-11  8:49                                                                 ` Takashi Iwai
2011-11-11  9:24                                                                   ` Wu Fengguang
2011-11-11 10:17                                                                     ` Takashi Iwai
2011-11-11 11:12                                                                       ` Wu Fengguang
2011-11-11 11:23                                                                         ` Takashi Iwai
2011-11-11 11:32                                                                           ` Wu Fengguang
2011-11-12  2:27                                                                   ` Wu Fengguang
2011-11-14  9:45                                                                     ` Takashi Iwai
2011-11-14 13:25                                                                       ` Wu Fengguang
2011-11-15 17:18                                                                         ` Purushothaman, Vijay A
2011-11-10  6:59                               ` Wu Fengguang

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4EB4813B.6060809@pulseforce.com \
    --to=c.white@pulseforce.com \
    --cc=contractfrombelow@gmail.com \
    --cc=fengguang.wu@intel.com \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=pierre-louis.bossart@intel.com \
    --cc=zhenyu.z.wang@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.