summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* drm/radeon/kms: fix vram setup on rs600/rs690/rs740Alex Deucher2009-12-083-5/+21
| | | | | | | Don't remap vram to 0 on IGP chips. Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/kms: more r4xx lvds fixesAlex Deucher2009-12-083-6/+16
| | | | | | | | Grab pll ref div from regs at driver init. r4xx seems very picky about the dividers for the pll driving lvds. Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/kms/legacy: set common regs to sane valueAlex Deucher2009-12-084-0/+21
| | | | | | | The DDX and radeonfb always set these regs to a sane value. Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/kms/legacy: set overscan regs on modesetAlex Deucher2009-12-082-0/+16
| | | | | | | | | These can end up with garbage otherwise. fixes rh bug 537140 Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/kms: fix RS600 MC setup.Dave Airlie2009-12-071-1/+15
| | | | | | | | | | | Again we try to put VRAM at 0, and it didn't work on this chipset, reports of corrupt RAM appeared on irc and bugzilla. Fix the vram location according to what the BIOS setup, I'm not 100% sure we don't need the same thing on rs690/rs780/rs880, we probably should do it there just in case as its what the DDX does. Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/kms: fix up gart setup on rs600Alex Deucher2009-12-071-22/+22
| | | | | | | | | | | | Set up rs600 gart like r600: - set gart system aperture to vram - inside gart system aperture is unmapped* - outside gart system aperture is mapped* *mapped refers to memory handled by page tables Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/kms: quirk for Gigabyte RV515 card, DVI+VGA not 2xDVI.Dave Airlie2009-12-041-0/+9
| | | | | | Similiar to other quirks for RV515, this card has no second DVI port. Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/kms: rs6xx/rs740: clamp vram to aperture sizeAlex Deucher2009-12-042-4/+14
| | | | | | Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Cc: stable@kernel.org Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/kms: fix vram setup on rs600Alex Deucher2009-12-042-8/+8
| | | | | | | | | | also fix up rs690 mem width. should fix fdo bug 25408 Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Cc: stable@kernel.org Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/kms: fix legacy crtc2 dpmsAlex Deucher2009-12-041-4/+3
| | | | | | | | noticed by Matthijs Kooijman on fdo bug 22140 Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Cc: stable@kernel.org Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/kms: handle vblanks properly with dpms onAlex Deucher2009-12-041-4/+4
| | | | | | | | | | avivo chips Copied from pre-avivo code. Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Cc: stable@kernel.org Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/kms: Add quirk for HIS X1300 boardAlex Deucher2009-12-041-0/+8
| | | | | | | | Board is DVI+VGA, not DVI+DVI Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Cc: stable@kernel.org Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/kms: don't use bios dividers for lvds on r4xxAlex Deucher2009-12-041-10/+12
| | | | | | | | | R4xx cards don't have lvds pll dividers since they use atom. should fix rh bug 541562 Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/kms: fix ring info in debugfs on r600+Rafał Miłecki2009-12-041-7/+7
| | | | | | Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Acked-by: Jerome Glisse <jglisse@redhat.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/kms: fix typo in define: engine -> memoryRafał Miłecki2009-12-041-1/+1
| | | | | Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/kms/pm: fix typosRafał Miłecki2009-12-041-3/+3
| | | | | | | Unit typo noticed by taiu on IRC Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/kms: Rework radeon object handlingJerome Glisse2009-12-0226-701/+901
| | | | | | | | | | | | | | | The locking & protection of radeon object was somewhat messy. This patch completely rework it to now use ttm reserve as a protection for the radeon object structure member. It also shrink down the various radeon object structure by removing field which were redondant with the ttm information. Last it converts few simple functions to inline which should with performances. airlied: rebase on top of r600 and other changes. Signed-off-by: Jerome Glisse <jglisse@redhat.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/kms: add irq mitigation code for sw interrupt.Dave Airlie2009-12-0213-12/+35
| | | | | | | | | We really don't need to process every irq that comes in, we only really want to do SW irq processing when we are actually waiting for a fence to pass. I'm not 100% sure this is race free esp on non-MSI systems so it needs some testing. Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/kms: Add support for interrupts on r6xx/r7xx chips (v3)Alex Deucher2009-12-0210-75/+754
| | | | | | | | | | | | | | | | | | | | | | | | | This enables the use of interrupts on r6xx/r7xx hardware. Interrupts are implemented via a ring buffer. The GPU adds interrupts vectors to the ring and the host reads them off in the interrupt handler. The interrupt controller requires firmware like the CP. This firmware must be installed and accessble to the firmware loader for interrupts to function. MSIs don't seem to work on my RS780. They work fine on all my discrete cards. I'm not sure about other RS780s or RS880s. I've disabled MSIs on RS780 and RS880, but it would probably be worth checking on some other systems. v2 - fix some checkpatch.pl problems; re-read the disp int status reg if we restart the ih; v3 - remove the irq handler if r600_irq_init() fails; remove spinlock in r600_ih_ring_fini(); move ih rb overflow check to r600_get_ih_wptr(); move irq ack to separate function; Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/kms: call correct atom table for digital output dpms.Dave Airlie2009-12-021-2/+2
| | | | | | found while working on displayport. Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/kms: Don't overwrite crtc_gen_cntl or crtc_gen_cntl2Jerome Glisse2009-12-021-7/+4
| | | | | | | | | Don't overwritte crtc_gen_cntl or crtc_gen_cntl2 or we may loose the cursor. This especialy happen when changing video mode. Fix bugs: https://bugzilla.redhat.com/show_bug.cgi?id=529146 Signed-off-by: Jerome Glisse <jglisse@redhat.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/kms: add tv standard property to tv connectorsAlex Deucher2009-12-021-0/+6
| | | | | | | | Lets user select tv-standard. The property was there, just not hooked up. Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/kms: ignore unposted GPUs with no BIOS.Dave Airlie2009-12-0212-34/+50
| | | | | | | If we find a GPU but we can't find its BIOS and it isn't posted, then ignore it. Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/kms: fix divide by 0 in clocks codeDave Airlie2009-12-022-1/+9
| | | | | | | If the chip isn't initialised properly this can happen. also fix return value in combios clocks function. Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/kms/atom: pull misc mode info for lvds from bios tablesAlex Deucher2009-12-021-1/+14
| | | | | | | | sync polarity, etc. This will likely fix LVDS problems on some laptops. Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/kms: Disable agp only if we are dealing with an AGP GPUJerome Glisse2009-12-021-1/+1
| | | | | | | | | | On IGP if you pass option agpmode=-1 you would overwrite the set_page function callback with improper function which endup in non functioning hw. This patch will disable agp when giving agpmode=-1 parameter only if we are dealing with an AGP GPU. Signed-off-by: Jerome Glisse <jglisse@redhat.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/kms: Disable both CRTCs during mode switchPierre Ossman2009-12-021-2/+19
| | | | | | | | | | Reconfiguring one CRTC whilst another is running can cause a hang under some circumstances. Unfortunately we haven't pinpointed exactly what those circumstances are, so disable all CRTCs for every mode switch. Signed-off-by: Pierre Ossman <pierre@ossman.eu> Acked-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/kms: fix LVDS setup on r4xxAlex Deucher2009-12-023-4/+11
| | | | | | | | | | | | | R4xx mobility chips use atombios, which does not store the LVDS_GEN_CNTL parameter setup like combios. Rather, it's configured in LVDSEncoderControl. As such, LVDS_GEN_CNTL is set wrong when on resume. Call LVDSEncoderControl to set it properly. Should fix fdo bug 25336 Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/kms: add HDP flushing for all GPUs.Dave Airlie2009-12-026-0/+28
| | | | | | | | | | | rendercheck under kms on r600s was failing due to HDP flushing not happening. This adds HDP flushing to the object wait function for r100->r700 families. rendercheck passes basic tests on r600 with this change. Acked-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon: Give userspace more accurate information about available memory.Michel Dänzer2009-12-021-3/+7
| | | | | | | | This patch varies from the original and just removes memory for kernel pinned objects. Signed-off-by: Michel Dänzer <daenzer@vmware.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/kms: pick 8bpp console when 32MB or less VRAMDave Airlie2009-12-021-1/+8
| | | | | | making the pinned console smaller gives X a bit more room to play with. Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/kms: add support for encoder cloning.Dave Airlie2009-12-024-2/+48
| | | | | | | The RN50 really needs this since its a single crtc card, however other gpus may benefit from it as well. Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/kms: fix oops when set_base is call with no FBJerome Glisse2009-12-022-2/+10
| | | | | | | | | | | Just do nothing if crct_set_base() is called with no FB. The oops happens when the user switches between X & vt or in some case when changing mode. Signed-off-by: Jerome Glisse <jglisse@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/kms: add quirk for MSI S270Alex Deucher2009-12-021-0/+6
| | | | | | | doesn't have a tv-out port Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/kms: deal with connectors sourced to the same encoderAlex Deucher2009-12-021-0/+33
| | | | | | | | | | | | | | | Some systems have multiple connectors connected to the same encoder; e.g., DVI and HDMI connected to the same encoder with the same ddc line. Since we expose connectors as xrandr outputs, randr treats them separately which results in it trying to source the same encoder to different crtcs. If we have an HDMI and DVI-D port on the same encoder, pick the one to be considered connected based on the edid (HDMI if edid indicates HDMI, DVI otherwise). Should fix fdo bug 25150 Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/kms: add quirk for Acer laptopAlex Deucher2009-12-021-0/+9
| | | | | | | DVI-I port is actually DVI-D Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/kms: rework scaler handlingAlex Deucher2009-12-024-85/+40
| | | | | | | | | | | | | | | | Keep requested scaler type in radeon_encoder and the actual scaler type used in radeon_crtc. This prevents us from enabling the scaler when it's not required (i.e., the requested mode is the native mode). Also, always set the adjusted mode equal to the native mode for lvds. Should fix: https://bugzilla.redhat.com/show_bug.cgi?id=522271 Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Acked-by: Jerome Glisse <jglisse@redhat.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/kms: fix typo in legacy internal tmds mode fixupAlex Deucher2009-12-021-1/+2
| | | | | | | Call to set active device was missing. Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/kms: AGP systems need PCI bus mastering enabledDave Airlie2009-12-025-3/+21
| | | | | | | | | | We might not hit this yet, but when if we do any sort of writeback we really need to enable PCI bus mastering on these systems from what I can see. This enables PCI BM on all radeons that require it. Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/kms: add support for external tmds on legacy boardsAlex Deucher2009-12-025-52/+456
| | | | | | | | | | | | This enables initialization of external tmds chips on pre-atom and mac systems. Macs are untested. Also, some macs have single link tmds chips while others have dual link tmds chips. We need to figure out which ones have which. This gets external TMDS working on my RS485 and RV380. Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/kms: clean up i2cAlex Deucher2009-12-025-67/+86
| | | | | | | | | - Change reg/mask names to match what we use internally and in the bios - Clarify how i2c over gpio on radeon actually works Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/kms: dont't pass a radeon_connector to radeon_i2c_do_lock()Alex Deucher2009-12-024-20/+20
| | | | | | | We need this for supporting things other than ddc on i2c. Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6Linus Torvalds2009-12-0112-28/+21
|\ | | | | | | | | | | | | | | * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6: Staging: update TODO files Staging: hv: Fix some missing author names Staging: hv: Fix vmbus event handler bug Staging: hv: Fix argument order in incorrect memset invocations in hyperv driver.
| * Staging: update TODO filesBartlomiej Zolnierkiewicz2009-11-304-10/+6
| | | | | | | | | | | | | | Remove my mail address. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * Staging: hv: Fix some missing author namesHaiyang Zhang2009-11-305-0/+5
| | | | | | | | | | | | | | | | | | | | Fix some missing author names. They were accidentally removed by someone within Microsoft before the files were sent for inclusion in the kernel. Signed-off-by: Hank Janssen <hjanssen@microsoft.com> Signed-off-by: Haiyang Zhang <haiyangz@microsoft.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * Staging: hv: Fix vmbus event handler bugHaiyang Zhang2009-11-302-13/+5
| | | | | | | | | | | | | | | | | | | | | | | | The flag ENABLE_POLLING is always enabled in original Makefile, but accidently removed during porting to mainline kernel. The patch fixes this bug which can cause stalled network communication. Credit needs to go to Eric Sesterhenn <eric.sesterhenn@lsexperts.de> For pointing out a typo in the original code as well. Signed-off-by: Hank Janssen <hjanssen@microsoft.com> Signed-off-by: Haiyang Zhang <haiyangz@microsoft.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * Staging: hv: Fix argument order in incorrect memset invocations in hyperv ↵Dave Jones2009-11-301-5/+5
| | | | | | | | | | | | | | | | | | | | | | driver. Nearly every invocation of memset in drivers/staging/hv/StorVsc.c has its arguments the wrong way around. Signed-off-by: Dave Jones <davej@redhat.com> Cc: Hank Janssen <hjanssen@microsoft.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* | Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6Linus Torvalds2009-12-0114-78/+118
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: USB: Add support for Mobilcom Debitel USB UMTS Surf-Stick to option driver USB: work around for EHCI with quirky periodic schedules USB: musb: Fix CPPI IRQs not being signaled USB: musb: respect usb_request->zero in control requests USB: musb: fix ISOC Tx programming for CPPI DMAs USB: musb: Remove unwanted message in boot log usb: amd5536udc: fixed shared interrupt bug and warning oops USB: ftdi_sio: Keep going when write errors are encountered. USB: musb_gadget: fix STALL handling USB: EHCI: don't send Clear-TT-Buffer following a STALL
| * | USB: Add support for Mobilcom Debitel USB UMTS Surf-Stick to option driverGernot Hillier2009-11-301-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds the vendor and device id for the Mobilcom Debitel UMTS surf stick (a.k.a. 4G Systems XSStick W14, MobiData MBD-200HU, ...). To see these ids, you need to switch the stick to modem operation first with the help of usb_modeswitch. This makes it switch from 1c9e:f000 to 1c9e:9603 and thus be recognized by the option driver. Signed-off-by: Gernot Hillier <gernot@hillier.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * | USB: work around for EHCI with quirky periodic schedulesOliver Neukum2009-11-304-0/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | a quirky chipset needs periodic schedules to run for a minimum time before they can be disabled again. This enforces the requirement with a time stamp and a calculated delay Signed-off-by: Oliver Neukum <oliver@neukum.org> Cc: stable <stable@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
OpenPOWER on IntegriCloud