[Intel-gfx] source-based replacement for video bios on ivybridge -- I'm stuck!

2012-08-01 Thread ron minnich
Dear intel graphics experts:

I am looking at trying to get coreboot to move away from binary video
bios on google chromebook platforms. The current target is an
ivybridge system. We'd like to get minimal graphics going with a
source-based startup code in coreboot, such that we can avoid the
issues that come with binary video bioses.

The good news is that the kernel driver works fine without a video
bios having been run -- the new samsung chromebox/chromebook work in
this manner.

As an experiment, I have used cocinnelle to extract the relevant
driver functions from the kernel (in this case 3.4.2) and am running
them in user mode. I've had good luck with prototyping hardware
drivers for coreboot in user mode, and this approach is *almost*
working on this graphics hardware.

You can see the result here: http://pastebin.com/3e77Y66C

The I2C is working, and I'm recovering EDID and the mode. I can
control the panel backlight. I can easily program the GTT and other
simple functions.

The issue now is that I am not able to get the link trained. I figure
I'm misordering or missing some crucial step, and on the off chance
that some one of you can look at that output and say "Ron you idiot!
You're missing *this* step" I've posted it.

If anyone has any thoughts on this I'd welcome them. This thing is
close, and I feel it is possible, but I've obviously got something
wrong.

Thanks in advance for any help or advice you can give me!

ron
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx


[Intel-gfx] intel_ddi.c

2012-08-06 Thread ron minnich
As I read this new (to me) file I get the impression that it really
applies to haswell and not the earlier parts, is that correct?

thanks

ron
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx


Re: [Intel-gfx] source-based replacement for video bios on ivybridge -- I'm stuck!

2012-08-09 Thread ron minnich
Thanks for the suggestions, I did move forward to 3.6-rc1.

It gives me lots of messages I expect, but does not yet work...

http://pastebin.com/RLp5qjQX

I'm still convinced there is some basic thing I'm not setting up
right; still getting these pipe0 stuck messages. Now, the one thing
I'm definitely doing different than the driver, after a discussion
with Jesse, is not setting up the ring or status page. It's not
supposed to be needed for this basic set up.

It all starts to go sour here:
[00.0] [drm:ironlake_edp_panel_on], Turn eDP power on
[00.0] [drm:ironlake_wait_panel_power_cycle], Wait for panel power cycle
[00.0] [drm:ironlake_wait_panel_status], mask b80f value
 status  control abcd0008
[00.0] [drm:ironlake_wait_panel_on], Wait for panel power on
[00.0] [drm:ironlake_wait_panel_status], mask b00f value
8008 status 000a control abcd000b
[00.0] [drm:ironlake_edp_panel_vdd_off], Turn eDP VDD off 1
[00.0] [drm:ironlake_panel_vdd_off_sync], PCH_PP_STATUS:
0x8008 PCH_PP_CONTROL: 0xabcd0003
[00.0] [drm:intel_dp_start_link_train], too many voltage retries, give up

And then we get no further (after several iterations) than the voltage
retries. Any further suggestions welcome :-)

ron
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx


Re: [Intel-gfx] source-based replacement for video bios on ivybridge -- I'm stuck!

2012-08-22 Thread ron minnich
OK, thanks to the great suggestions and help I found on this list I am
now lighting up the display, i.e. clock recovery and so on work, the
display is trained, and it seems I am getting
data from memory to the display. Now I'm trying to understand some
other things.

I can set the GTT entries, and as an experiment I set them to start at
physical 0. i.e. [0] = 1, [1] = 4097, and so on. The low order bits
are the same as the BIOS settings: Valid is set but no other bits.
Now, as I change the GTT entries to point at different windows of low
memory, what is on the display changes -- I'm essentially looking at
kernel memory. But what surprised me a bit was I was hoping to
get a pretty dynamic display as the contents of kernel memory changed.
Such is not the case -- the display is static. So I think I'm missing
something else, any ideas? I think the display hardware is kind of
running
as each time I change the gtt the image on the screen changes in a
very consistent way, e.g. if I increase the value of all gtt's by 1
MiB then the screen scrolls up.

Next, the GSM on this system is at ADA0. If I leave the entries
set to what the bios sets, e..g
[0] = 0xada0001
[1] - 0xada1001

etc. then I would expect I can mmap bar[2] and store into that region.
But what happens instead, is that nothing changes when I write to the
mmap'ed region. Is there some other issue I am getting wrong here?

Finally, if I dump what the data I mmap at bar[2], then change the
gtt, then dump it again, it does change. I think I have the bar values
right, but ...

Thanks again for your help.

ron
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx


[Intel-gfx] scaling on ivy bridge

2012-10-09 Thread ron minnich
I have a display that is, e.g., 2560x1600 on an ivybridge. I'd like to
set it up so that the software sees a display with half that
resolution, i.e. the software that draws into the frame buffer (this
is a bios) can draw into what it sees as a 1280x800 display.

I've tried a few things but I'm realizing I don't understand the
ivybridge panel fitter at all. This display is on PIPEA. It appears on
sandybridge one can write
PFA_VSCALE, PFA_HSCALE, PFA_WIN_SZ, and PFA_WIN_POS and _PFA_CTL_1 and
it all works.

On Ivybridge it seems far more complex. Or am I missing something? I
don't see any fitting code in the drm driver itself, so I'm not quite
sure how it's done.

Thanks in advance, as always.

ron
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx


Re: [Intel-gfx] scaling on ivy bridge

2012-10-09 Thread ron minnich
On Tue, Oct 9, 2012 at 12:35 PM, Paulo Zanoni  wrote:

> Take a look at this tool:
> http://cgit.freedesktop.org/xorg/app/intel-gpu-tools/tree/tools/intel_panel_fitter.c

very interesting!

i note that tool sets WIN_POS and WIN_SZ, but not the HSCALE and
VSCALE ... is there something I'm not understanding (yes)? Are HSCALE
and VSCALE intended to be read?

I'm going to try it of course but I'm confused :-)

thanks!

ron
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx