[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