lkml.org 
[lkml]   [2011]   [Nov]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[201/264] drm/radeon/kms: add MSI module parameter
    3.1-stable review patch.  If anyone has any objections, please let me know.

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

    From: Alex Deucher <alexander.deucher@amd.com>

    commit a18cee15ed4c8b6a35f96b7b26a46bac32e04bd9 upstream.

    Allow the user to override whether MSIs are enabled
    or not on supported ASICs. MSIs are disabled by default
    on IGP chips as they tend not to work. However certain
    IGP chips only seem to work with MSIs enabled.

    I suspect this is a chipset or bios issue, but I'm not sure
    what the proper fix is. This will at least make diagnosing
    and working around the problem much easier.

    See:
    https://bugs.freedesktop.org/show_bug.cgi?id=37679

    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
    Signed-off-by: Dave Airlie <airlied@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

    ---
    drivers/gpu/drm/radeon/radeon.h | 1 +
    drivers/gpu/drm/radeon/radeon_drv.c | 4 ++++
    drivers/gpu/drm/radeon/radeon_irq_kms.c | 6 ++++++
    3 files changed, 11 insertions(+)

    --- a/drivers/gpu/drm/radeon/radeon.h
    +++ b/drivers/gpu/drm/radeon/radeon.h
    @@ -93,6 +93,7 @@ extern int radeon_audio;
    extern int radeon_disp_priority;
    extern int radeon_hw_i2c;
    extern int radeon_pcie_gen2;
    +extern int radeon_msi;

    /*
    * Copy from radeon_drv.h so we don't have to include both and have conflicting
    --- a/drivers/gpu/drm/radeon/radeon_drv.c
    +++ b/drivers/gpu/drm/radeon/radeon_drv.c
    @@ -118,6 +118,7 @@ int radeon_audio = 0;
    int radeon_disp_priority = 0;
    int radeon_hw_i2c = 0;
    int radeon_pcie_gen2 = 0;
    +int radeon_msi = -1;

    MODULE_PARM_DESC(no_wb, "Disable AGP writeback for scratch registers");
    module_param_named(no_wb, radeon_no_wb, int, 0444);
    @@ -164,6 +165,9 @@ module_param_named(hw_i2c, radeon_hw_i2c
    MODULE_PARM_DESC(pcie_gen2, "PCIE Gen2 mode (1 = enable)");
    module_param_named(pcie_gen2, radeon_pcie_gen2, int, 0444);

    +MODULE_PARM_DESC(msi, "MSI support (1 = enable, 0 = disable, -1 = auto)");
    +module_param_named(msi, radeon_msi, int, 0444);
    +
    static int radeon_suspend(struct drm_device *dev, pm_message_t state)
    {
    drm_radeon_private_t *dev_priv = dev->dev_private;
    --- a/drivers/gpu/drm/radeon/radeon_irq_kms.c
    +++ b/drivers/gpu/drm/radeon/radeon_irq_kms.c
    @@ -118,6 +118,12 @@ static bool radeon_msi_ok(struct radeon_
    if (rdev->flags & RADEON_IS_AGP)
    return false;

    + /* force MSI on */
    + if (radeon_msi == 1)
    + return true;
    + else if (radeon_msi == 0)
    + return false;
    +
    /* Quirks */
    /* HP RS690 only seems to work with MSIs. */
    if ((rdev->pdev->device == 0x791f) &&



    \
     
     \ /
      Last update: 2011-11-10 05:07    [W:0.022 / U:4.528 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site