[Openchrome-users] Unknown Card-Ids

tALSit de CoD talsit
Mon Jul 10 18:03:13 PDT 2006


Sorry that it has taken me so long to reply...

I patched up the source in a few different places, mainly adding the 
card to the list of known cards, and i got it all working nice and nice.

Though the problem with my comp not being able to do more than 640x480 
was not due to bandwith calculations, it was due to the fact that i was 
telling X to output to vga AND tv, but i didn't have the tv plugged in, 
and therefore could not start it up with the requested video mode, and 
was falling back to the barebones.

Now, my question is, since I got the code working, and i've been running 
it for 2-3 weeks now, and there seems to be no problems, how should i go 
about submitting the code?

Should I create a patch file and submit that to someone, should i just 
submit it using svn... Or should i just tell someone the steps that I 
followed to get this working?

Cheers

tALSit de CoD wrote:
> Thanks a lot for this, I'll try it tonight, and I'll let you know how it 
> went.
> 
> 
> Paul Antoine wrote:
>> Sorry, let me be clearer.  The CN700 is being recognised as 1106/3344 
>> (which is the same as my chipset, i.e. Unichrome Pro), however 
>> recognition of the type of chipset is *not* sufficient.
>>
>> Elsewhere in the code there is a bandwidth calculation for the memory to 
>> see what resolutions can be supported... it is here that you need to fix 
>> it so something higher than 640x480/16bit is allowed as a setting.
>>
>> Specifically this occurs in the via_mode.c code... in this routine:
>>
>>     CARD32 ViaGetMemoryBandwidth(ScrnInfoPtr pScrn)
>>
>> The table you need to fix is in via_mode.h, in the section headed 
>> "Bandwidth", because the routine above is getting a value that is not 
>> defined in the ViaBandwidthTable.
>>
>> P.
>>
>> I have patched my code to make this all work well for my MythTV HTPC, 
>> but have not produced patches for folks as yet. Since I did the code, 
>> the Unichrome code has moved and *some* of my patches are no longer 
>> required.  Just don't have the time to poke at it right now, sorry. In 
>> the meantime here's a snip from my via_mode.h for reference:
>>
>> /*
>>  * Bandwidth
>>  *
>>  */
>> /* used for impossible entries: allow a minimum bandwidth in case
>>    this does happen */
>> #define VIA_BW_MIN 74000000 /* > 640x480 at 60Hz at 32bpp */
>>
>> /* index to table */
>> #define VIA_BW_CLE266A  0
>> #define VIA_BW_CLE266C  1
>> #define VIA_BW_KM400    2
>> #define VIA_BW_KM400A   3
>> #define VIA_BW_K8M800   4
>> #define VIA_BW_PM800    5
>> #define VIA_BW_VM800    6
>> #define VIA_BW_P4M800   7    /* My entry for the P4M800CE chipset */
>> #define VIA_BW_ALL      8
>>
>> /*
>>  * 393216000 is for SDR133 in via_refresh.h
>>  * 460800000 is for DDR266
>>  * 921600000 is for DDR533 - a rough guess for the BW_MAX for P4M800CE
>>  * maybe we need 2x that for DDR2/533???
>>  */
>> static struct {
>>     CARD8 Device; /* equal to index */
>>     CARD32 Bandwidth[VIA_MEM_END];
>> } ViaBandwidthTable[VIA_BW_ALL] = {
>>     { VIA_BW_CLE266A, { VIA_BW_MIN, VIA_BW_MIN, VIA_BW_MIN,  394000000, 
>>  461000000, VIA_BW_MIN, VIA_BW_MIN, VIA_BW_MIN } },
>>     { VIA_BW_CLE266C, { VIA_BW_MIN, VIA_BW_MIN, VIA_BW_MIN,  394000000, 
>>  461000000, VIA_BW_MIN, VIA_BW_MIN, VIA_BW_MIN } },
>>     { VIA_BW_KM400,   { VIA_BW_MIN, VIA_BW_MIN, VIA_BW_MIN,  394000000, 
>>  461000000,  461000000, VIA_BW_MIN, VIA_BW_MIN } },
>>     { VIA_BW_KM400A,  { VIA_BW_MIN, VIA_BW_MIN, VIA_BW_MIN,  394000000, 
>>  461000000,  461000000,  461000000, 461000000 } },
>>     { VIA_BW_K8M800,  { VIA_BW_MIN, VIA_BW_MIN, VIA_BW_MIN,  394000000, 
>>  461000000,  461000000,  461000000, 461000000 } },
>>     { VIA_BW_PM800,   { VIA_BW_MIN, VIA_BW_MIN, VIA_BW_MIN,  394000000, 
>>  461000000,  461000000,  461000000, 461000000 } },
>>     { VIA_BW_VM800,   { VIA_BW_MIN, VIA_BW_MIN, VIA_BW_MIN,  394000000, 
>>  461000000,  461000000,  461000000, 461000000 } },
>>     { VIA_BW_P4M800,  { VIA_BW_MIN, VIA_BW_MIN, VIA_BW_MIN,  394000000, 
>>  461000000,  461000000,  461000000, 922000000 } }
>> };
>>
>>
>>
>> tALSit de CoD wrote:
>>> Sorry, I didn't understand how you solved it. How do i get it to 
>>> detect my chipset?
>>>
>>> Oh, is it because it's detecting chipsets CLE266, KM400/KN400, K8M800, 
>>> PM800/PM880/CN400, VM800, but not the CN700 ?
>>>
>>> Anyone out there with the same problem?
>>>
>>> Paul Antoine wrote:
>>>> Morning!
>>>>
>>>> Your problem is due to the card not being known for the purposes of 
>>>> video memory bandwidth calculation - the result is 640x480/16bit.
>>>>
>>>> I had a similar issue with the P4M800 chipset in my Asus P5VDC-MX 
>>>> board, which required adding detection of the chipset to which I 
>>>> allocated MemClk 7 for the DDR2/533 memory used on my motherboard.
>>>>
>>>> P.
>>>>
>>>> tALSit de CoD wrote:
>>>>> Morning!
>>>>>
>>>>> I know that this has been reported before, but I've searched through 
>>>>> the
>>>>> archives, and followed what i thought was the relevant posts, but I
>>>>> still get the message.
>>>>>
>>>>> I have a Via Epia EN15000. It's a C7 @ 1.5GHz, CN700 North Bridge, VIA
>>>>> VT8237R-series South Bridge & VIA UniChrome Pro AGP graphics.
>>>>>
>>>>> I have followed the compiling steps show on the openchrome wiki, and 
>>>>> the
>>>>> Card Ids is in both drm/shared-core/drm_pciids.txt &
>>>>> drm/shared/drm_pciids.txt under [viadrv] (and i can also see it in
>>>>> drm_pciids.h), but I still get this message on X startup:
>>>>>
>>>>> (WW) VIA(0): Manufacturer plainly copied main PCI ids to 
>>>>> Subsystem/Card ids.
>>>>> (EE) VIA(0): Unknown Card-Ids (1106|3344), report this to
>>>>> openchrome-users at openchrome.org ASAP
>>>>>
>>>>> X starts up almost fine, I get acceleration in video playback (10% cpu
>>>>> when playing dvd's, 7% or so playing .avi's), but it only likes 640x480
>>>>> 16bit colour.
>>>>>
>>>>> These are the relevant parts of dmesg:
>>>>>
>>>>> [drm] Initialized drm 1.0.1 20051102
>>>>> ACPI: PCI Interrupt 0000:01:00.0[A] -> Link [LNKA] -> GSI 11 (level,
>>>>> low) -> IRQ 11
>>>>> [drm] Initialized via 2.10.2 20060616 on minor 0:
>>>>> agpgart: Detected VIA P4M800CE chipset
>>>>> agpgart: AGP aperture is 128M @ 0xe8000000
>>>>> hwmon-vid: Unknown VRM version of your x86 CPU
>>>>>
>>>>> And output of X -verbose -logverbose:
>>>>>
>>>>> (II) VIA: driver for VIA chipsets: CLE266, KM400/KN400, K8M800,
>>>>>     PM800/PM880/CN400, VM800
>>>>> (--) Chipset VM800 found
>>>>> ...
>>>>> (!!) (development build, at svn revision  189)
>>>>>
>>>>> Anyone know what i'm missing?
>>>>> Thank you very much.
>>>>>
>>>>> _______________________________________________
>>>>> openchrome-users mailing list
>>>>> openchrome-users at openchrome.org
>>>>> http://wiki.openchrome.org/mailman/listinfo/openchrome-users
>>>>> Main page:
>>>>> http://www.openchrome.org
>>>>> Wiki:
>>>>> http://wiki.openchrome.org
>>>>> User Forum:
>>>>> http://wiki.openchrome.org/tikiwiki/tiki-view_forum.php?forumId=1
>>>>>
> _______________________________________________
> openchrome-users mailing list
> openchrome-users at openchrome.org
> http://wiki.openchrome.org/mailman/listinfo/openchrome-users
> Main page:
> http://www.openchrome.org
> Wiki:
> http://wiki.openchrome.org
> User Forum:
> http://wiki.openchrome.org/tikiwiki/tiki-view_forum.php?forumId=1
> 



More information about the Openchrome-users mailing list