lkml.org 
[lkml]   [2003]   [Feb]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: Radeon PCI support
    Here what I did
    1) Kernel

    /usr/src/linux/drivers/char/drm/radeon_cp.c

    comment out
    /*
    #if defined(__alpha__)
    # define PCIGART_ENABLED
    #else
    # undef PCIGART_ENABLED
    #endif
    */

    #define PCIGART_ENABLED

    and then I got drm works

    But I don't think I have to do that, but I don't know because I am
    too lazy to make a new kernel without that feature, after I got Xfree86
    work with glx.

    Herewhat I did:

    1) download 4.2.1 source code from Xfree86.org
    2) modify xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_dri.c
    comment out

    #include "sarea.h"
    /*
    #if defined(__alpha__)
    # define PCIGART_ENABLED
    #else
    # undef PCIGART_ENABLED
    #endif
    */
    /* insert this line */
    #define PCIGART_ENABLED

    /* ?? HACK - for now, put this here... */
    /* ?? Alpha - this may need to be a variable to handle UP1x00 vs TITAN */
    #if defined(__alpha__)
    # define DRM_PAGE_SIZE 8192
    #elif defined(__ia64__)
    # define DRM_PAGE_SIZE getpagesize()
    #else
    # define DRM_PAGE_SIZE 4096
    #endif

    /* insert this line */
    #define DRM_PAGE_SIZE 8192

    3) modify
    xc/programs/Xserver/hw/xfree86/os-support/linux/drm/kernel/radeon_cp.c

    /*
    #if defined(__alpha__)
    # define PCIGART_ENABLED
    #else
    # undef PCIGART_ENABLED
    #endif
    */
    /* insert this line */
    #define PCIGART_ENABLED

    4) Last one this I trial and error, some how it works. According to
    Whitney.diff patch.

    in xc/programs/Xserver/hw/xfree86/common/xf86pciBus.c
    -------------------------------------------------------
    *** xf86pciBus.c Thu Jan 30 23:57:29 2003
    --- xf86pciBus.c.orig Sat Jan 18 01:11:45 2003
    ***************
    *** 1518,1537 ****
    tmp->block_end = MIN(tmp->block_end,PCI_MEM32_LENGTH_MAX);
    tmp = tmp->next;
    }
    ! } /* Hacking by me */
    ! else if ((pbp->primary == pvp->bus) &&
    ! (pbp->secondary >= 0) &&
    ! (pbp->primary != pbp->secondary)) {
    ! tmp = xf86DupResList(pbp->preferred_pmem);
    ! avoid = xf86JoinResLists(avoid, tmp);
    ! tmp = xf86DupResList(pbp->pmem);
    ! avoid = xf86JoinResLists(avoid, tmp);
    ! tmp = xf86DupResList(pbp->preferred_mem);
    ! avoid = xf86JoinResLists(avoid, tmp);
    ! tmp = xf86DupResList(pbp->mem);
    ! avoid = xf86JoinResLists(avoid, tmp);
    ! }
    !
    while (pbp1) {
    if (pbp1->primary == pvp->bus) {
    tmp = xf86DupResList(pbp1->preferred_pmem);
    --- 1518,1524 ----
    tmp->block_end = MIN(tmp->block_end,PCI_MEM32_LENGTH_MAX);
    tmp = tmp->next;
    }
    ! }
    while (pbp1) {
    if (pbp1->primary == pvp->bus) {
    tmp = xf86DupResList(pbp1->preferred_pmem);
    ***************
    *** 2211,2230 ****
    res_m_io = xf86JoinResLists(res_m_io,
    xf86FindIntersectOfLists(pbp->preferred_io,ResRange));
    }
    ! } /* hacking */
    ! else if ((pbp->primary == pvp->bus) &&
    ! (pbp->secondary >= 0) &&
    ! (pbp->primary != pbp->secondary)) {
    ! tmp = xf86DupResList(pbp->preferred_pmem);
    ! avoid = xf86JoinResLists(avoid, tmp);
    ! tmp = xf86DupResList(pbp->preferred_mem);
    ! avoid = xf86JoinResLists(avoid, tmp);
    ! tmp = xf86DupResList(pbp->preferred_io);
    ! avoid = xf86JoinResLists(avoid, tmp);
    ! }
    !
    !
    !
    while (pbp1) {
    if (pbp1->primary == pvp->bus) {
    tmp = xf86DupResList(pbp1->preferred_pmem);
    --- 2198,2204 ----
    res_m_io = xf86JoinResLists(res_m_io,
    xf86FindIntersectOfLists(pbp->preferred_io,ResRange));
    }
    ! }
    while (pbp1) {
    if (pbp1->primary == pvp->bus) {
    tmp = xf86DupResList(pbp1->preferred_pmem);

    -------------------------------------------------------------------

    Try it and let me know if you have any questions, I would like to know the
    result too.

    Thanks,

    On Fri, 31 Jan 2003, Chris Ison wrote:

    > just a couple of things I forgot to mention, my system doesn't have AGP
    > and I'm using kernel version 2.4.20-ac1
    > -
    > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    > the body of a message to majordomo@vger.kernel.org
    > More majordomo info at http://vger.kernel.org/majordomo-info.html
    > Please read the FAQ at http://www.tux.org/lkml/
    >

    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2005-03-22 13:32    [W:0.028 / U:31.344 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site