[flashrom] [PATCH] Add -p gfxnvidia for flashing NVIDIA graphics cards

Luc Verhaegen libv at skynet.be
Wed Jul 8 16:22:45 CEST 2009


On Wed, Jul 08, 2009 at 02:12:16PM +0200, Uwe Hermann wrote:
> See patch.
> 
> Please do NOT try write/erase on any important cards yet, it doesn't
> seem to fully work properly yet and you could "brick" your card.
> 
> I tested a "RIVA TNT2 Model 64/Model 64 Pro", which successfully
> identified and read a Winbond W29C011 chip, but erase and write behaved
> incorrect and I finally bricked the card.
> 
> Will look into recovery soon (likely will work via software I assume,
> no hardware hacking strictly required I think/hope, we'll see).
> 
> As for the list of supported cards: I have no idea which of those may
> work (i.e. have the same flash programming interface), maybe none, maybe
> all of them (and lots more NVIDIA cards), we'll see as soon as others
> test more cards.
> 
> 
> Uwe.
> -- 
> http://www.hermann-uwe.de  | http://www.holsham-traders.de
> http://www.crazy-hacks.org | http://www.unmaintained-free-software.org

> Add initial support for flashing some NVIDIA graphics cards.
> 
> The new option is '-p gfxnvidia', rest of the interface is as usual.
> 
> I tested a successful identify and read on a "RIVA TNT2 Model 64/Model 64 Pro"
> card for now, erase and write did NOT work properly so far!
> 
> Please do not attempt to write/erase cards yet, unless you can recover!
> 
> Signed-off-by: Uwe Hermann <uwe at hermann-uwe.de>
> 

> +	/* Allow access to flash interface (will disable screen). */
> +	pci_write_long(pcidev_dev, 0x50, 0x00);

You fully null this byte, but...

> +	nvidia_bar = physmap("NVIDIA", io_base_addr, 16 * 1024 * 1024);
> +
> +	buses_supported = CHIP_BUSTYPE_PARALLEL;
> +
> +	return 0;
> +}
> +
> +int gfxnvidia_shutdown(void)
> +{
> +	/* Disallow access to flash interface (and re-enable screen). */
> +	pci_write_long(pcidev_dev, 0x50, 0x01);

... You only restore bit0. Is this fully correct?

Apart from that, and the fact that we might want to:
* switch programmers to use TEST_ instead of PCI_NT
* stop people from using flashrom operations with TEST_BAD_ without an 
extra argument (--brick was discussed on irc).
(which is something for the future anyway...)

Acked-by: Luc Verhaegen <libv at skynet.be>

Luc Verhaegen.




More information about the flashrom mailing list