[Bug 15181] Radeon: *ERROR* Unable to locate a BIOS ROM
https://bugzilla.kernel.org/show_bug.cgi?id=15181 Jérôme Glisse gli...@freedesktop.org changed: What|Removed |Added CC||gli...@freedesktop.org --- Comment #4 from Jérôme Glisse gli...@freedesktop.org 2010-04-26 09:28:08 --- Does Xorg works without kms ? -- Configure bugmail: https://bugzilla.kernel.org/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are watching the assignee of the bug. -- -- ___ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel
[Bug 15181] Radeon: *ERROR* Unable to locate a BIOS ROM
https://bugzilla.kernel.org/show_bug.cgi?id=15181 --- Comment #5 from Matteo rootki...@yahoo.it 2010-04-26 10:27:55 --- Yes. I'm trying to track down how userspace gets the ROM contents via libpciaccess to fix in in the kernel driver, but I don't know how AtomBIOS is involved in this process -- Configure bugmail: https://bugzilla.kernel.org/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are watching the assignee of the bug. -- -- ___ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel
[Bug 15181] Radeon: *ERROR* Unable to locate a BIOS ROM
https://bugzilla.kernel.org/show_bug.cgi?id=15181 --- Comment #6 from Jérôme Glisse gli...@freedesktop.org 2010-04-26 12:47:10 --- Please test with 2.6.34-rc* change have been made there and it might work with it. -- Configure bugmail: https://bugzilla.kernel.org/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are watching the assignee of the bug. -- -- ___ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel
[Bug 13170] Macbook 5,2 only boots with acpi=off, or nosmp, or maxcpus=1
https://bugzilla.kernel.org/show_bug.cgi?id=13170 --- Comment #51 from David dstan...@gmail.com 2010-04-26 15:23:40 --- As Alejanrdo says above, it's been raised in both debian and ubuntu for some time now, and nothing seems to be happening there. -- Configure bugmail: https://bugzilla.kernel.org/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are watching the assignee of the bug. -- -- ___ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel
[Bug 15166] Changing brightness of backlight freezes kernel with radeon kms enabled.
https://bugzilla.kernel.org/show_bug.cgi?id=15166 Aurélien Couderc zecou...@free.fr changed: What|Removed |Added CC||zecou...@free.fr --- Comment #36 from Alexey Diomin diomi...@gmail.com 2010-04-15 15:04:51 --- fixs not helped mesa xf86-video-ati from git, but all tests in runlevel 3 (without starting X) when run F13-Beta-i686-Live-KDE.iso (del rhgb) freeze after start kms http://ivctrans.by/temp/PIC-0032.jpg on f12 (tested half of the year earlier) has message as on f13 beta now --- Comment #37 from Aurélien Couderc zecou...@free.fr 2010-04-26 17:38:07 --- Lenovo X100e also affected. (Radeon HD 3200) -- Configure bugmail: https://bugzilla.kernel.org/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are watching the assignee of the bug. -- -- ___ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel
Free Fermi cards to interested developers and researchers
Hi all PathScale is giving away a limited amount of Nvidia Fermi cards to qualified open source developers and researchers. We are mainly focused on our optimized gpu compiler and the HPC market, but also open to sponsoring creative ideas or projects surrounding the gpu. Here's a short list of some of the areas most interesting to us * Nouveau/kernel drivers * CUDA * OpenCL * HMPP * Parallel programming * MPI * Shader compilers If you're interested please contact me offlist with a brief description of your background, the contributions you made to open source and what you'd intend to do with the card. Thanks Christopher #pathscale - irc.freenode.net -- -- ___ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel
[Bug 15844] Failed to load firmware radeon/RV770_pfp.bin
https://bugzilla.kernel.org/show_bug.cgi?id=15844 Andrew Morton a...@linux-foundation.org changed: What|Removed |Added CC||a...@linux-foundation.org Component|Other |Video(DRI - non Intel) AssignedTo|other_ot...@kernel-bugs.osd |drivers_video-...@kernel-bu |l.org |gs.osdl.org Product|Other |Drivers --- Comment #1 from Andrew Morton a...@linux-foundation.org 2010-04-26 19:32:40 --- (recategorised as DRI) Are you sure there's actually an oops? There's no oops trace or output in this report? -- Configure bugmail: https://bugzilla.kernel.org/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are watching the assignee of the bug. -- -- ___ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel
[Bug 15181] Radeon: *ERROR* Unable to locate a BIOS ROM
https://bugzilla.kernel.org/show_bug.cgi?id=15181 --- Comment #7 from Matteo rootki...@yahoo.it 2010-04-26 14:06:15 --- Tested with 2.6.34-rc5, it doesn't work. read(image) returns 0 instead 0x55 in pci rom read code --- Comment #8 from Jérôme Glisse gli...@freedesktop.org 2010-04-26 20:28:40 --- Please attach dmesg of 2.6.34-rc5 with KMS and failing rom -- Configure bugmail: https://bugzilla.kernel.org/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are watching the assignee of the bug. -- -- ___ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel
[Bug 15844] Failed to load firmware radeon/RV770_pfp.bin
https://bugzilla.kernel.org/show_bug.cgi?id=15844 Jérôme Glisse gli...@freedesktop.org changed: What|Removed |Added CC||gli...@freedesktop.org --- Comment #2 from Jérôme Glisse gli...@freedesktop.org 2010-04-26 20:33:53 --- Under fedora those firmware are provided by linux-firmware-20100106-4.fc13.noarch I have no idea where they are in Arch. This is a distribution issue i am not sure what i should do about the bug, likely close it. -- Configure bugmail: https://bugzilla.kernel.org/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are watching the assignee of the bug. -- -- ___ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel
[Bug 15181] Radeon: *ERROR* Unable to locate a BIOS ROM
https://bugzilla.kernel.org/show_bug.cgi?id=15181 --- Comment #9 from Matteo rootki...@yahoo.it 2010-04-27 00:49:32 --- Exactly the same of the 2.6.33 which i've already posted -- Configure bugmail: https://bugzilla.kernel.org/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are watching the assignee of the bug. -- -- ___ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel
[PATCH] drm/radeon/bo: add some fallback placements for VRAM only objects. (v2)
From: Dave Airlie airl...@redhat.com On constrained r100 systems compiz would fail to start due to a lack of memory, we can just fallback place the objects rather than completely failing it works a lot better. v2: fixes issue identified by Michel when pinning could happen in a busy placement domain. Signed-off-by: Dave Airlie airl...@redhat.com --- drivers/gpu/drm/radeon/radeon.h|4 +++- drivers/gpu/drm/radeon/radeon_object.c | 22 +- drivers/gpu/drm/radeon/radeon_ttm.c|6 +++--- 3 files changed, 19 insertions(+), 13 deletions(-) diff --git a/drivers/gpu/drm/radeon/radeon.h b/drivers/gpu/drm/radeon/radeon.h index e912098..a23a6ab 100644 --- a/drivers/gpu/drm/radeon/radeon.h +++ b/drivers/gpu/drm/radeon/radeon.h @@ -240,7 +240,9 @@ struct radeon_bo { struct list_headlist; /* Protected by tbo.reserved */ u32 placements[3]; + u32 busy_placements[3]; struct ttm_placementplacement; + struct ttm_placementbusy_placement; struct ttm_buffer_objecttbo; struct ttm_bo_kmap_obj kmap; unsignedpin_count; @@ -1227,7 +1229,7 @@ extern void radeon_surface_init(struct radeon_device *rdev); extern int radeon_cs_parser_init(struct radeon_cs_parser *p, void *data); extern void radeon_legacy_set_clock_gating(struct radeon_device *rdev, int enable); extern void radeon_atom_set_clock_gating(struct radeon_device *rdev, int enable); -extern void radeon_ttm_placement_from_domain(struct radeon_bo *rbo, u32 domain); +extern void radeon_ttm_placement_from_domain(struct radeon_bo *rbo, u32 domain, bool pinned); extern bool radeon_ttm_bo_is_radeon_bo(struct ttm_buffer_object *bo); extern void radeon_vram_location(struct radeon_device *rdev, struct radeon_mc *mc, u64 base); extern void radeon_gtt_location(struct radeon_device *rdev, struct radeon_mc *mc); diff --git a/drivers/gpu/drm/radeon/radeon_object.c b/drivers/gpu/drm/radeon/radeon_object.c index 6a8617b..ab3bc7b 100644 --- a/drivers/gpu/drm/radeon/radeon_object.c +++ b/drivers/gpu/drm/radeon/radeon_object.c @@ -64,17 +64,21 @@ bool radeon_ttm_bo_is_radeon_bo(struct ttm_buffer_object *bo) return false; } -void radeon_ttm_placement_from_domain(struct radeon_bo *rbo, u32 domain) +void radeon_ttm_placement_from_domain(struct radeon_bo *rbo, u32 domain, bool pinned) { - u32 c = 0; + u32 c = 0, b = 0; rbo-placement.fpfn = 0; rbo-placement.lpfn = 0; rbo-placement.placement = rbo-placements; - rbo-placement.busy_placement = rbo-placements; + rbo-placement.busy_placement = rbo-busy_placements; if (domain RADEON_GEM_DOMAIN_VRAM) rbo-placements[c++] = TTM_PL_FLAG_WC | TTM_PL_FLAG_UNCACHED | TTM_PL_FLAG_VRAM; + /* add busy placement to TTM if VRAM is only option */ + if (domain == RADEON_GEM_DOMAIN_VRAM pinned == false) { + rbo-busy_placements[b++] = TTM_PL_MASK_CACHING | TTM_PL_FLAG_TT; + } if (domain RADEON_GEM_DOMAIN_GTT) rbo-placements[c++] = TTM_PL_MASK_CACHING | TTM_PL_FLAG_TT; if (domain RADEON_GEM_DOMAIN_CPU) @@ -82,7 +86,7 @@ void radeon_ttm_placement_from_domain(struct radeon_bo *rbo, u32 domain) if (!c) rbo-placements[c++] = TTM_PL_MASK_CACHING | TTM_PL_FLAG_SYSTEM; rbo-placement.num_placement = c; - rbo-placement.num_busy_placement = c; + rbo-placement.num_busy_placement = b; } int radeon_bo_create(struct radeon_device *rdev, struct drm_gem_object *gobj, @@ -110,7 +114,7 @@ int radeon_bo_create(struct radeon_device *rdev, struct drm_gem_object *gobj, bo-surface_reg = -1; INIT_LIST_HEAD(bo-list); - radeon_ttm_placement_from_domain(bo, domain); + radeon_ttm_placement_from_domain(bo, domain, false); /* Kernel allocation are uninterruptible */ r = ttm_bo_init(rdev-mman.bdev, bo-tbo, size, type, bo-placement, 0, 0, !kernel, NULL, size, @@ -185,7 +189,7 @@ int radeon_bo_pin(struct radeon_bo *bo, u32 domain, u64 *gpu_addr) *gpu_addr = radeon_bo_gpu_offset(bo); return 0; } - radeon_ttm_placement_from_domain(bo, domain); + radeon_ttm_placement_from_domain(bo, domain, true); if (domain == RADEON_GEM_DOMAIN_VRAM) { /* force to pin into visible video ram */ bo-placement.lpfn = bo-rdev-mc.visible_vram_size PAGE_SHIFT; @@ -325,10 +329,10 @@ int radeon_bo_list_validate(struct list_head *head) if (!bo-pin_count) { if (lobj-wdomain) { radeon_ttm_placement_from_domain(bo, - lobj-wdomain); +
[PATCH] drm/radeon/kms: avoid executing dac detection table on r4xx + rv515.
From: Dave Airlie airl...@redhat.com The DAC Load detection table is meant to take a parameter selecting the DAC to do load detection on. However on certain BIOS revisions it accept no parameters and load detects both DACs, with the result that load detecting on the second DAC causes flicker on the first, which isn't really acceptable. We should code up a workaround function for these chips to workaround this case. Signed-off-by: Dave Airlie airl...@redhat.com --- drivers/gpu/drm/radeon/atom.c| 15 +-- drivers/gpu/drm/radeon/atom.h|2 ++ drivers/gpu/drm/radeon/radeon_encoders.c | 11 +-- 3 files changed, 24 insertions(+), 4 deletions(-) diff --git a/drivers/gpu/drm/radeon/atom.c b/drivers/gpu/drm/radeon/atom.c index bcec2d7..6477ac5 100644 --- a/drivers/gpu/drm/radeon/atom.c +++ b/drivers/gpu/drm/radeon/atom.c @@ -1320,12 +1320,13 @@ bool atom_parse_data_header(struct atom_context *ctx, int index, return true; } -bool atom_parse_cmd_header(struct atom_context *ctx, int index, uint8_t * frev, - uint8_t * crev) +bool atom_parse_cmd_header_stack(struct atom_context *ctx, int index, uint8_t *frev, +uint8_t *crev, uint8_t *ps_size, uint8_t *ws_size) { int offset = index * 2 + 4; int idx = CU16(ctx-cmd_table + offset); u16 *mct = (u16 *)(ctx-bios + ctx-cmd_table + 4); + u16 table_attrib = CU16(idx + 4); if (!mct[index]) return false; @@ -1334,9 +1335,19 @@ bool atom_parse_cmd_header(struct atom_context *ctx, int index, uint8_t * frev, *frev = CU8(idx + 2); if (crev) *crev = CU8(idx + 3); + if (ps_size) + *ps_size = (table_attrib 0xe00) 8; + if (ws_size) + *ws_size = (table_attrib 0xff); return true; } +bool atom_parse_cmd_header(struct atom_context *ctx, int index, uint8_t *rev, + uint8_t *crev) +{ + return atom_parse_cmd_header_stack(ctx, index, rev, crev, NULL, NULL); +} + int atom_allocate_fb_scratch(struct atom_context *ctx) { int index = GetIndexIntoMasterTable(DATA, VRAM_UsageByFirmware); diff --git a/drivers/gpu/drm/radeon/atom.h b/drivers/gpu/drm/radeon/atom.h index cd1b64a..ca21357 100644 --- a/drivers/gpu/drm/radeon/atom.h +++ b/drivers/gpu/drm/radeon/atom.h @@ -147,6 +147,8 @@ bool atom_parse_data_header(struct atom_context *ctx, int index, uint16_t *size, uint8_t *frev, uint8_t *crev, uint16_t *data_start); bool atom_parse_cmd_header(struct atom_context *ctx, int index, uint8_t *frev, uint8_t *crev); +bool atom_parse_cmd_header_stack(struct atom_context *ctx, int index, uint8_t *rev, +uint8_t *crev, uint8_t *ps_size, uint8_t *ws_size); int atom_allocate_fb_scratch(struct atom_context *ctx); #include atom-types.h #include atombios.h diff --git a/drivers/gpu/drm/radeon/radeon_encoders.c b/drivers/gpu/drm/radeon/radeon_encoders.c index c52fc30..36bcabd 100644 --- a/drivers/gpu/drm/radeon/radeon_encoders.c +++ b/drivers/gpu/drm/radeon/radeon_encoders.c @@ -1398,12 +1398,19 @@ atombios_dac_load_detect(struct drm_encoder *encoder, struct drm_connector *conn ATOM_DEVICE_CRT_SUPPORT)) { DAC_LOAD_DETECTION_PS_ALLOCATION args; int index = GetIndexIntoMasterTable(COMMAND, DAC_LoadDetection); - uint8_t frev, crev; + uint8_t frev, crev, ps_size; memset(args, 0, sizeof(args)); - if (!atom_parse_cmd_header(rdev-mode_info.atom_context, index, frev, crev)) + if (!atom_parse_cmd_header_stack(rdev-mode_info.atom_context, index, frev, crev, ps_size, NULL)) return false; + + /* r4xx and some early rv5xx probe all DACs, this can cause distrubances in the force, + also on other DACs. - we can detect these tables as they have a 0 sized param stack */ + if (ps_size == 0) { + DRM_DEBUG(not executing dac load detection table due to buggy atom table\n); + return false; + } args.sDacload.ucMisc = 0; -- 1.7.0.1 -- -- ___ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel