The patch titled revert "nvidiafb: use generic ddc reading" has been added to the -mm tree. Its filename is revert-nvidiafb-use-generic-ddc-reading.patch See http://www.zip.com.au/~akpm/linux/patches/stuff/added-to-mm.txt to find out what to do about this ------------------------------------------------------ Subject: revert "nvidiafb: use generic ddc reading" From: Andrew Morton <akpm@xxxxxxxx> Olaf reports that this gave him a black screen. Cc: Olaf Hering <olaf@xxxxxxxxx> Cc: "Antonino A. Daplas" <adaplas@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxx> --- drivers/video/Kconfig | 1 drivers/video/nvidia/nv_i2c.c | 43 ++++++++++++++++++++++++++++++-- 2 files changed, 41 insertions(+), 3 deletions(-) diff -puN drivers/video/Kconfig~revert-nvidiafb-use-generic-ddc-reading drivers/video/Kconfig --- a/drivers/video/Kconfig~revert-nvidiafb-use-generic-ddc-reading +++ a/drivers/video/Kconfig @@ -701,7 +701,6 @@ config FB_NVIDIA depends on FB && PCI select I2C_ALGOBIT if FB_NVIDIA_I2C select I2C if FB_NVIDIA_I2C - select FB_DDC if FB_NVIDIA_I2C select FB_MODE_HELPERS select FB_CFB_FILLRECT select FB_CFB_COPYAREA diff -puN drivers/video/nvidia/nv_i2c.c~revert-nvidiafb-use-generic-ddc-reading drivers/video/nvidia/nv_i2c.c --- a/drivers/video/nvidia/nv_i2c.c~revert-nvidiafb-use-generic-ddc-reading +++ a/drivers/video/nvidia/nv_i2c.c @@ -160,12 +160,51 @@ void nvidia_delete_i2c_busses(struct nvi } +static u8 *nvidia_do_probe_i2c_edid(struct nvidia_i2c_chan *chan) +{ + u8 start = 0x0; + struct i2c_msg msgs[] = { + { + .addr = 0x50, + .len = 1, + .buf = &start, + }, { + .addr = 0x50, + .flags = I2C_M_RD, + .len = EDID_LENGTH, + }, + }; + u8 *buf; + + if (!chan->par) + return NULL; + + buf = kmalloc(EDID_LENGTH, GFP_KERNEL); + if (!buf) { + dev_warn(&chan->par->pci_dev->dev, "Out of memory!\n"); + return NULL; + } + msgs[1].buf = buf; + + if (i2c_transfer(&chan->adapter, msgs, 2) == 2) + return buf; + dev_dbg(&chan->par->pci_dev->dev, "Unable to read EDID block.\n"); + kfree(buf); + return NULL; +} + int nvidia_probe_i2c_connector(struct fb_info *info, int conn, u8 **out_edid) { struct nvidia_par *par = info->par; - u8 *edid; + u8 *edid = NULL; + int i; - edid = fb_ddc_read(&par->chan[conn - 1].adapter); + for (i = 0; i < 3; i++) { + /* Do the real work */ + edid = nvidia_do_probe_i2c_edid(&par->chan[conn - 1]); + if (edid) + break; + } if (!edid && conn == 1) { /* try to get from firmware */ _ Patches currently in -mm which might be from akpm@xxxxxxxx are origin.patch revert-pci-quirk-for-ibm-dock-ii-cardbus-controllers.patch ext4_blk_type_from_sector_t_to_ulonglong-fix.patch ext4-uninline-ext4_get_group_no_and_offset.patch ext4-64-bit-divide-fix.patch ext4-64-bit-divide-fix-fix.patch ext4-rename-logic_sb_block.patch ext4-whitespace-cleanups.patch git-acpi.patch acpi-preserve-correct-battery-state-through-suspend-resume-cycles-tidy.patch acpi-asus-s3-resume-fix.patch sony_apci-resume.patch git-cifs-fixup.patch cifs-kconfig-dont-select-connector.patch w1-kconfig-fix.patch git-dvb-build-fix.patch git-geode-fixup.patch git-gfs2.patch git-input-fixup.patch libata-return-sense-data-in-hdio_drive_cmd-ioctl-tidy.patch git-netdev-all.patch libphy-dont-do-that.patch forcedeth-power-management-support-tidy.patch drivers-net-ns83820c-add-paramter-to-disable-auto.patch git-pcmcia-fixup.patch git-serial-fixup.patch pci-optionally-sort-device-lists-breadth-first-tweaks.patch pci-optionally-sort-device-lists-breadth-first-force-on.patch git-scsi-target-fixup.patch git-scsi-target-vs-git-block.patch revert-gregkh-usb-usb-ehci-hcd-split-scan_periodic-to-reuse-code-for-spanned-completions.patch xpad-dance-pad-support-tidy.patch git-watchdog.patch x86_64-dump_trace-atomicity-fix.patch spinlock-debug-all-cpu-backtrace.patch spinlock-debug-all-cpu-backtrace-fix.patch spinlock-debug-all-cpu-backtrace-fix-2.patch spinlock-debug-all-cpu-backtrace-fix-3.patch xfs-rename-uio_read.patch touchkit-ps-2-touchscreen-driver-regs-fix.patch direct-io-sync-and-invalidate-file-region-when-falling-back-to-buffered-write-fixes.patch get-rid-of-zone_table.patch swap-token-new-scheme-to-preempt-token-tidy.patch radix-tree-rcu-lockless-readside.patch acx1xx-wireless-driver.patch swsusp-add-resume_offset-command-line-parameter-rev-2.patch deprecate-smbfs-in-favour-of-cifs.patch edac-new-opteron-athlon64-memory-controller-driver.patch add-address_space_operationsbatch_write.patch add-config_headers_check-option-to-automatically-run-make-headers_check-nobble.patch kbuild-dont-put-temp-files-in-the-source-tree.patch grow_buffers-infinite-loop-fix.patch invalidate_inode_pages2_range-debug.patch lockdep-annotate-nfs-nfsd-in-kernel-sockets-tidy.patch generic-implementatation-of-bug.patch generic-implementatation-of-bug-fix.patch generic-bug-for-i386.patch generic-bug-for-x86-64.patch log2-implement-a-general-integer-log2-facility-in-the-kernel-fix.patch fs-cache-provide-a-filesystem-specific-syncable-page-bit-ext4.patch fs-cache-make-kafs-use-fs-cache-fix.patch fs-cache-make-kafs-use-fs-cache-vs-streamline-generic_file_-interfaces-and-filemap.patch nfs-use-local-caching-12-fix.patch fs-cache-cachefiles-a-cache-that-backs-onto-a-mounted-filesystem-log2-fix.patch swap_prefetch-vs-zoned-counters.patch readahead-sysctl-parameters.patch make-copy_from_user_inatomic-not-zero-the-tail-on-i386-vs-reiser4.patch make-kmem_cache_destroy-return-void-reiser4.patch reiser4-hardirq-include-fix.patch reiser4-run-truncate_inode_pages-in-reiser4_delete_inode.patch reiser4-get_sb_dev-fix.patch reiser4-vs-zoned-allocator.patch reiser4-rename-generic_sounding_globalspatch-fix.patch hpt3xx-rework-rate-filtering-tidy.patch gtod-persistent-clock-support-i386.patch hrtimers-state-tracking.patch clockevents-drivers-for-i386.patch kevent-core-files-fix.patch kevent-core-files-s390-hack.patch kevent-socket-notifications-fix-2.patch kevent-socket-notifications-fix-4.patch nr_blockdev_pages-in_interrupt-warning.patch device-suspend-debug.patch slab-leaks3-default-y.patch x86-kmap_atomic-debugging.patch restore-rogue-readahead-printk.patch put_bh-debug.patch acpi_format_exception-debug.patch jmicron-warning-fix.patch squash-ipc-warnings.patch squash-transmeta-warnings.patch squash-udf-warnings.patch revert-nvidiafb-use-generic-ddc-reading.patch - To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html