From: Jiang Liu <jiang.liu@linux.intel.com>
To: Maarten Lankhorst <maarten.lankhorst@canonical.com>,
David Airlie <airlied@linux.ie>,
"Rafael J. Wysocki" <rafael.j.wysocki@intel.com>,
Dave Airlie <airlied@redhat.com>,
Emil Velikov <emil.l.velikov@gmail.com>
Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] nouveau, ACPI: fix regression caused by b072e53
Date: Wed, 19 Feb 2014 17:47:23 +0800 [thread overview]
Message-ID: <53047DAB.10200@linux.intel.com> (raw)
In-Reply-To: <1392785628-30633-1-git-send-email-jiang.liu@linux.intel.com>
Hi Maarten,
Forgot to refresh my working tree. Please help to
apply this patch on top of previous one to solve a compilation bug.
diff --git a/drivers/gpu/drm/nouveau/nouveau_acpi.c
b/drivers/gpu/drm/nouveau/no
index c6c7d0d..83face3 100644
--- a/drivers/gpu/drm/nouveau/nouveau_acpi.c
+++ b/drivers/gpu/drm/nouveau/nouveau_acpi.c
@@ -119,7 +119,7 @@ static int nouveau_check_optimus_dsm(acpi_handle handle)
* Function 0 returns a Buffer containing available functions.
* The args parameter is ignored for function 0, so just put 0 in it
*/
- if (nouveau_optimus_dsm(handle, 0, 0, &result)
+ if (nouveau_optimus_dsm(handle, 0, 0, &result))
return 0;
On 2014/2/19 12:53, Jiang Liu wrote:
> On some platforms, ACPI _DSM method (nouveau_op_dsm_muid, function 0)
> has special requirements on the fourth parameter, which is different
> from ACPI specifications. So revert to the private implementation
> to check availability of _DSM functions instead of using common
> acpi_check_dsm() interface.
>
> Signed-off-by: Jiang Liu <jiang.liu@linux.intel.com>
> ---
> Hi Maarten,
> Thanks for bisecting. Could you please help to verify whether
> this patch fixes the regression?
>
> Thanks!
> Gerry
> ---
> drivers/gpu/drm/nouveau/nouveau_acpi.c | 26 ++++++++++++++++++++++++--
> 1 file changed, 24 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/nouveau/nouveau_acpi.c b/drivers/gpu/drm/nouveau/nouveau_acpi.c
> index 4ef83df..c6c7d0d 100644
> --- a/drivers/gpu/drm/nouveau/nouveau_acpi.c
> +++ b/drivers/gpu/drm/nouveau/nouveau_acpi.c
> @@ -106,6 +106,29 @@ static int nouveau_optimus_dsm(acpi_handle handle, int func, int arg, uint32_t *
> return 0;
> }
>
> +/*
> + * On some platforms, _DSM(nouveau_op_dsm_muid, func0) has special
> + * requirements on the fourth parameter, so a private implementation
> + * instead of using acpi_check_dsm().
> + */
> +static int nouveau_check_optimus_dsm(acpi_handle handle)
> +{
> + int result;
> +
> + /*
> + * Function 0 returns a Buffer containing available functions.
> + * The args parameter is ignored for function 0, so just put 0 in it
> + */
> + if (nouveau_optimus_dsm(handle, 0, 0, &result)
> + return 0;
> +
> + /*
> + * ACPI Spec v4 9.14.1: if bit 0 is zero, no function is supported.
> + * If the n-th bit is enabled, function n is supported
> + */
> + return result & 1 && result & (1 << NOUVEAU_DSM_OPTIMUS_CAPS);
> +}
> +
> static int nouveau_dsm(acpi_handle handle, int func, int arg)
> {
> int ret = 0;
> @@ -207,8 +230,7 @@ static int nouveau_dsm_pci_probe(struct pci_dev *pdev)
> 1 << NOUVEAU_DSM_POWER))
> retval |= NOUVEAU_DSM_HAS_MUX;
>
> - if (acpi_check_dsm(dhandle, nouveau_op_dsm_muid, 0x00000100,
> - 1 << NOUVEAU_DSM_OPTIMUS_CAPS))
> + if (nouveau_check_optimus_dsm(dhandle))
> retval |= NOUVEAU_DSM_HAS_OPT;
>
> if (retval & NOUVEAU_DSM_HAS_OPT) {
>
next prev parent reply other threads:[~2014-02-19 9:47 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-02-19 4:53 [PATCH] nouveau, ACPI: fix regression caused by b072e53 Jiang Liu
2014-02-19 9:47 ` Jiang Liu [this message]
2014-02-19 10:12 ` Maarten Lankhorst
2014-02-19 10:12 ` Maarten Lankhorst
2014-02-19 14:12 ` Jiang Liu
-- strict thread matches above, loose matches on Subject: below --
2014-02-20 9:23 Jiang Liu
2014-02-20 20:27 ` Rafael J. Wysocki
2014-02-21 5:40 ` Jiang Liu
2014-02-21 6:04 ` Dave Airlie
2014-02-21 6:04 ` Dave Airlie
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=53047DAB.10200@linux.intel.com \
--to=jiang.liu@linux.intel.com \
--cc=airlied@linux.ie \
--cc=airlied@redhat.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=emil.l.velikov@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=maarten.lankhorst@canonical.com \
--cc=rafael.j.wysocki@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.