Commit Graph

57 Commits

Author SHA1 Message Date
Zhao Yakui
19f7c15e20 xfree86: Edid quirk for Philips LCD LP154W01
v1->v2: Make one condition case for one quirk instead of merging them
together. This is based on the Keithp's suggestion.

Move the EDID quirk for Philips LCD LP154W01 as the panel reports the vertical
size in cm.

https://bugs.freedesktop.org/show_bug.cgi?id=24482

Signed-off-by: Zhao Yakui <yakui.zhao@intel.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
2009-11-20 07:21:26 -08:00
Adam Jackson
ec98d7fc78 EDID: Extend the HDTV hack to handle "1368x769"
Hate televisions so much.

Signed-off-by: Adam Jackson <ajax@redhat.com>
2009-10-29 14:06:00 -04:00
Adam Jackson
7c0803f555 modes: Fix duplicate detection, and do it more consistently
Signed-off-by: Adam Jackson <ajax@redhat.com>
2009-10-29 14:06:00 -04:00
Adam Jackson
25236d19e6 EDID: Fix interlaced detailed timings to be frame size, not field size
Signed-off-by: Adam Jackson <ajax@redhat.com>
2009-10-29 14:06:00 -04:00
Adam Jackson
fb86433d89 modes: Decorate interlaced mode names with a trailing 'i'
Signed-off-by: Adam Jackson <ajax@redhat.com>
2009-10-29 14:06:00 -04:00
Ma Ling
fc2ec95664 EDID: CEA extension support
Reviewed-by: Adam Jackson <ajax@redhat.com>
2009-10-29 14:04:55 -04:00
Tormod Volden
757c11630d xfree86: Fix description of DDC_QUIRK_DETAILED_USE_MAXIMUM_SIZE
The message ending up in the log is misleading as to what the quirk
actually does: It ignores the sizes in the detailed timings and
replaces them with the display "Max Image Size".

Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
2009-10-28 15:57:21 -07:00
Peter Hutterer
83023ffd09 xfree86: use the DDC size if either width or height of DisplaySize is bogus.
If either width or height of DisplaySize is invalid, assume that the
configuration is invalid and use the DDC-reported values instead.

See Comment 9, Bug 9758.
http://bugs.freedesktop.org/show_bug.cgi?id=9758#c9

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Acked-by: Dave Airlie <airlied@redhat.com>
2009-09-28 14:51:39 +10:00
Adam Jackson
0bb9a7e165 displayid: Implement mode decoding. 2009-07-17 14:48:55 -04:00
Adam Jackson
2f1a9c5baa ddc: s/xf86DDCMonitorSet/xf86EdidMonitorSet/
Since we need a second path for DisplayID.
2009-07-17 13:42:57 -04:00
Ben Skeggs
048697ccfa quirk: use first detailed timing as preferred for PEA prod 9003 (rh#492359)
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-06-23 15:55:25 +10:00
Adam Jackson
99e22b86c5 EDID: Add modes from Established Timings III descriptor to mode pool
EDID 1.4, section 3.10.3.9
2009-05-22 13:27:16 -04:00
Julien Cristau
2be5eecb4b xfree86: add edid quirk for Samsung Syncmaster 2333HD
It reports vertical size in cm in the detailed mode.
X.Org bug#21750 <http://bugs.freedesktop.org/show_bug.cgi?id=21750>

Reported-by: Peter Poklop <Peter.Poklop@gmx.at>
Signed-off-by: Julien Cristau <jcristau@debian.org>
2009-05-15 17:35:30 +02:00
Julien Cristau
0dfb97f15f Bug#21324: Add quirk for Iiyama Vision Master 450
Reported-by: Jeremy Henty <onepoint@starurchin.org>
Signed-off-by: Julien Cristau <jcristau@debian.org>
2009-04-22 20:02:38 +02:00
Tormod Volden
b1dab580bd xfree86: edid quirk for Philips LCD LP154W01-TLAJ
This panel reports its vertical size in cm.

X.Org bug#21000 <http://bugs.freedesktop.org/show_bug.cgi?id=21000>

Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
Signed-off-by: Julien Cristau <jcristau@debian.org>
2009-04-01 20:05:23 +02:00
Chris Ball
45e14f5153 Build fix for xf86EdidModes.c
Commit 20ac314.. forgets to declare hsize/vsize/refresh.
2009-02-13 20:32:02 -05:00
Adam Jackson
20ac3140ce EDID: Hack for 1366x768 in standard timing descriptors
All you get for standard timing descriptors is horizontal size in
multiples of 8 pixels (which means you can't say 1366) and height in
terms of aspect ratio (which means you can't say 768).  You'd like to
just fuzzy-match this by walking the DMT list for sufficiently close
modes, but you can't because DMT is useless and only defines a 1360x768
mode, because it's _also_ specified in terms of character cells despite
providing pixel exact timings.  Neither can you use CVT or GTF to
generate the timings, because they _also_ believe that modes have to be
a multiple of 8 pixels.

You'd also hope you could find a timing definition for this in CEA, but
you can't because CEA only defines transmission formats that actually
exist.  So there's 480p, 720p, and 1080p, but no 768p.  And why would
there be, after all, the encoded signal is never 768p so obviously no
one would ever make a display in that format.

So instead, make a CVT mode since that's likely to be handled well by
just about everything, smash the horizontal active down by 2, and shift
the sync pulse by 1.  Underscanning the hard way.

Pass the suicide.
2009-02-13 15:12:06 -05:00
Paulo Cesar Pereira de Andrade
49f77fff14 Rework symbol visibility for easier maintenance
Save in a few special cases, _X_EXPORT should not be used in C source
files. Instead, it should be used in headers, and the proper C source
include that header. Some special cases are symbols that need to be
shared between modules, but not expected to be used by external drivers,
and symbols that are accessible via LoaderSymbol/dlopen.

  This patch also adds conditionally some new sdk header files, depending
on extensions enabled. These files were added to match pattern for
other extensions/modules, that is, have the headers "deciding" symbol
visibility in the sdk. These headers are:
o Xext/panoramiXsrv.h, Xext/panoramiX.h
o fbpict.h (unconditionally)
o vidmodeproc.h
o mioverlay.h (unconditionally, used only by xaa)
o xfixes.h (unconditionally, symbols required by dri2)

  LoaderSymbol and similar functions now don't have different prototypes,
in loaderProcs.h and xf86Module.h, so that both headers can be included,
without the need of defining IN_LOADER.

  xf86NewInputDevice() device prototype readded to xf86Xinput.h, but
not exported (and with a comment about it).
2008-12-03 05:43:34 -02:00
Paulo Cesar Pereira de Andrade
31285d063e Make visible symbols required by xorg modules.
This patch exports all symbols required by the compilable
(in a x86 linux computer) xorg/driver/* modules.
  Still missing symbols worth mentioning are:

sunleo
	miFindMaxBand no longer available

intel	(uxa/uxa-accel.c)
	fbShmPutImage no longer available (and should have been static)

mga
	MGAGetClientPointer (should come from matrox's libhal)

  This is not a definitive "visibility" patch, as all it does is to
export missing symbols, but the modules that current don't compile,
may require more symbols once fixed, and third party drivers should
also require more symbols exported.
  A "definitive" patch should export symbols defined in the sdk.
2008-11-28 01:55:11 -02:00
Alan Coopersmith
d5f9a131a2 Fix const-mismatch warnings for DisplayModePtr's
Includes fixes for:
"xf86Config.c", line 2434: warning: argument #1 is incompatible with prototype:
	prototype: pointer to struct _DisplayModeRec: "xf86.h", line 351
	argument : pointer to const struct _DisplayModeRec

"xf86EdidModes.c", line 312: warning: argument #1 is incompatible with prototype:
	prototype: pointer to struct _DisplayModeRec: "../../../hw/xfree86/common/xf86.h", line 351
	argument : pointer to const struct _DisplayModeRec

"xf86EdidModes.c", line 438: warning: assignment type mismatch:
	pointer to struct _DisplayModeRec "=" pointer to const struct _DisplayModeRec

"xf86Modes.c", line 701: warning: assignment type mismatch:
	pointer to struct _DisplayModeRec "=" pointer to const struct _DisplayModeRec
2008-11-25 15:51:17 -08:00
Adam Jackson
d692e1a63e Build fix. 2008-07-22 10:21:22 -04:00
Adam Jackson
8c8c4fdf34 EDID: Various reduced blanking fixes.
- Use a single common function to compute reducedness.
- Call it from both the old-school and new-school mode validation paths.
- Define monitor reduced-blanking support in accord with EDID 1.4.
- Attempt to filter RB DMT modes away from the "standard" EDID pool if
  the monitor doesn't claim RB support.
2008-07-21 16:49:17 -04:00
Adam Jackson
e8cd77e14d EDID: For standard timing blocks, prefer DMT timings if they exist. 2008-07-21 16:49:17 -04:00
Adam Jackson
6ba70091e2 EDID: Correct DDCEstablishedModes to conform to DMT. 2008-07-21 16:49:17 -04:00
Adam Jackson
c74ddc87c9 EDID: Add quirk to clamp max pixel clock to single DVI link speed.
On some panels you end up with all of:
- No range descriptor
- No description of physical connectivity
- Native panel size mode in standard timings list

In principle you're supposed to use the timings for that mode from the DMT
spec, but in practice the DMT spec has timings for both 1920x1200 normal
and 1920x1200RB, and the standard timing field gives you no way to
distinguish.  And, of course, the non-RB timings don't fit in a single
DVI link.
2008-07-21 15:10:20 -04:00
Dave Airlie
e4ebfed178 xf86edid: fix typo in debug output 2008-05-06 16:47:18 +10:00
Dave Airlie
b19027fbae quirk: add quirk for ACR 640x350 default mode is wrong
RH #440186
2008-04-09 14:34:11 +10:00
Dave Airlie
f0915fb3c4 quirk: add quirk for ACER EDID 2008-04-04 09:59:40 +10:00
Hong Liu
ebc56aca8b Bug #15160: quirk Proview AY765C
prefer first detailed timing
2008-04-02 10:46:03 +08:00
Dave Airlie
c747030a49 quirk: fix LPL monitors properly.
no point having a h cm fix when we really want to copy the sizes from the
other place.

RH BZ 435216
2008-03-27 15:19:52 +10:00
Aaron Plattner
a8d760f567 Get modes code building with old X servers again.
This change uses XORG_VERSION_CURRENT < 7.0 to mean "server newer than 1.2"
since XORG_VERSION current went backwards at some point.
2008-03-06 14:42:00 -08:00
Adam Jackson
3b73d62791 xf86DDCMonitorSet: Honor the DisplaySize from the config file.
We honor sync ranges and pixel clock settings from the config here, no
reason to ignore DisplaySize.
2008-03-03 15:43:22 -05:00
Adam Jackson
d1c48955f8 Fix CVT abuse in DDCModesFromStandardTiming.
CVT is enough different from GTF that it should not be used on monitors
that aren't expecting it.  This brings us closer to what the spec says
the correct behaviour is.
2008-02-29 16:01:15 -05:00
Adam Jackson
e65e51a99b Constify the built-in mode tables. 2008-02-29 16:01:14 -05:00
Adam Jackson
6828d8fc2b Clean up DisplayModeRec handling in many places.
Use xf86DuplicateMode() instead of rolling our own, and change
malloc+memset to calloc.
2008-02-29 16:01:14 -05:00
Adam Jackson
8ac19d16a0 Add several comments documenting our EDID failures. 2008-02-29 16:01:14 -05:00
Tiago Vignatti
aebd9dc252 Oops, there's one more parenthesis. 2008-02-28 01:22:31 -03:00
Dave Airlie
08afc70513 quirks: another LPL panel with the cm/mm wrong 2008-02-28 10:45:41 +10:00
Hong Liu
734e115871 Bug #12439: add a quirk to use +hsync +vsync for the probed detailed mode.
Samsung 205BW quirk is somehow reworked.
2008-01-23 21:24:09 +08:00
Adam Jackson
312b30cb03 EDID 1.4: First detailed mode is always preferred.
... so act like it in the modelist generator, not just the parser.
2007-12-28 17:38:51 -05:00
Adam Jackson
a948216dcc EDID 1.4: Decode CVT 3-byte codes and add them to the mode pool.
Section 3.10.3.8: CVT 3 Byte Code Descriptor Definition.
2007-12-28 16:53:16 -05:00
Hong Liu
c6cfcd408d Bug 13308: Verify and reject obviously broken modes. 2007-12-05 17:48:28 +01:00
Dave Airlie
f30abe30c5 edid quirk for MAX 0x77e monitor
From RH bugzilla 306441
2007-11-30 13:53:21 +10:00
Eric Anholt
ab4bce02a9 Add a quirk for Philips 107P5 which lacks the preferred bit on detailed timing.
Also fix the prefer-large-75 quirk if the prefer-first-detailed bit was set,
though it's not the case for the existing prefer-large-75 consumer.
2007-10-18 15:22:42 -07:00
Eric Anholt
fc092334ac Bug #10304,12784,11603: Add quirks for several physical size issues.
A lot of EDID writers apparently end up stuffing centimeters (like the
maximum image size field) into the detailed timings, instead of millimeters.
Some of them only get it wrong in one direction.  Also, add a quirk to let
us mark the largest 75hz mode as preferred, which will often be used for
EDID 1.0 CRTs.
2007-10-11 16:55:44 -07:00
Alex Deucher
81f8b652d9 Add _X_EXPORT to exported functions in hw/xfree86/modes/*
Also add missing exports to hw/xfree86/loader/xf86sym.c
2007-08-22 19:26:34 -04:00
Eric Anholt
ff4bd3addb Fix the swapped decode of the EDID DTD h/v sync polarity fields.
As a result, we can remove the quirks that existed to flip the bits back around
for us.  This is not confirmed in all cases due to lack of bugs containing EDID
blocks associated with the quirks, but is likely true.
2007-08-08 14:39:27 -07:00
Adam Jackson
e316fa59fe Add per-monitor config file option for maximum pixel clock. 2007-07-10 14:20:55 -04:00
Gero Mudersbach
00e8295b7e Bug #10814: Add needed quirk for Samsung 225BW like the 226BW. 2007-07-02 11:40:11 -07:00
Eric Anholt
667e95f2e8 Correct the xf86EdidModes.c file description. 2007-07-02 11:36:11 -07:00