linux-i2c.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Prarit Bhargava <prarit-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
To: Matthew Garrett
	<matthew.garrett-05XSO3Yj/JvQT0dZR+AlfA@public.gmane.org>
Cc: "linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
	<linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	"rjw-LthD3rsA81gm4RdzfppkhA@public.gmane.org"
	<rjw-LthD3rsA81gm4RdzfppkhA@public.gmane.org>,
	"seth.heasley-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org"
	<seth.heasley-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>,
	"khali-PUYAD+kWke1g9hUCZPvPmw@public.gmane.org"
	<khali-PUYAD+kWke1g9hUCZPvPmw@public.gmane.org>,
	"janet.morgan-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org"
	<janet.morgan-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>,
	"bhelgaas-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org"
	<bhelgaas-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>,
	"mstowe-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org"
	<mstowe-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>,
	"linux-acpi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
	<linux-acpi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>
Subject: Re: [PATCH RFC] i2c algo, Add i2c-algo-i801 driver [v1]
Date: Thu, 10 Apr 2014 15:15:54 -0400	[thread overview]
Message-ID: <5346EDEA.3070704@redhat.com> (raw)
In-Reply-To: <1397063381.5276.17.camel@x230>



On 04/09/2014 01:09 PM, Matthew Garrett wrote:
> On Wed, 2014-04-09 at 13:02 -0400, Prarit Bhargava wrote:
>>
>> On 04/09/2014 12:36 PM, Matthew Garrett wrote:
>>> On Wed, 2014-04-09 at 12:22 -0400, Prarit Bhargava wrote:
>>>> RFC and a work in progress ... I need to go through and do a bunch of error
>>>> condition checking, more testing, etc.  I'm just throwing this out there to see
>>>> if anyone has any major concerns about doing something like this.
>>>
>>> This isn't really a good approach. These aren't standardised ACPI
>>> methods, so you have no guarantee that they exist. The fact that a
>>
>> I've looked at the ACPI dump across six different systems (3 different vendors,
>> and an intel whitebox), and the data appears to be identical.  Could Intel
>> change these?  Yes, of course they could, but that's no different from any other
>> undocumented driver in the kernel.
> 
> Not really. These are an internal implementation detail, not an exported
> interface. We try to write drivers for exported interfaces, even if
> they're not documented.

Aren't the methods the exported interface?  I'm obviously missing something :)

> 
>>> method with one of these names exists is no guarantee that it has the
>>> same behaviour as the ones on your board. There's no guarantee that
>>> you're not racing against the firmware.
>>>
>>
>> I think there is -- AFAICT the operations are serialized; if they aren't that is
>> an associated risk.  Hopefully someone from Intel will lend a hand here and let
>> me know if I'm doing something horrible ;)
> 
> Imagine an i2c chip with indexed register access. What stops:
> 
> CPU0 (i2c):		CPU1 (ACPI):
> SBWB register address
> 			SBWB register address
> SBRB register value
> 			SBRB register value
> 
> and CPU0 getting back the wrong value?

I thought that the "Serialized" keyword in the methods specifically indicate
that this cannot happen.

/me could be confused but from the ACPI spec:

SerializeRule is optional and is a flag that defines whether the method is
serialized or not and is one of the following: Serialized or NotSerialized. A
method that is serialized cannot be reentered by additional threads. If not
specified, the default is NotSerialized.

P.

  parent reply	other threads:[~2014-04-10 19:15 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-04-09 16:22 [PATCH RFC] i2c algo, Add i2c-algo-i801 driver [v1] Prarit Bhargava
     [not found] ` <1397060563-30431-1-git-send-email-prarit-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2014-04-09 16:36   ` Matthew Garrett
2014-04-09 17:02     ` Prarit Bhargava
     [not found]       ` <53457D0D.7020805-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2014-04-09 17:09         ` Matthew Garrett
2014-04-09 17:34           ` Prarit Bhargava
     [not found]             ` <5345849F.6070909-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2014-04-09 17:37               ` Matthew Garrett
2014-04-09 17:55                 ` Prarit Bhargava
     [not found]                   ` <53458992.4060003-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2014-04-09 17:59                     ` Matthew Garrett
2014-04-09 18:02                       ` Prarit Bhargava
     [not found]                         ` <53458B2A.30003-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2014-04-09 18:27                           ` Matthew Garrett
2014-04-09 19:22                       ` Jean Delvare
2014-04-09 19:24                         ` Matthew Garrett
2014-04-09 19:01           ` Jean Delvare
2014-04-09 19:05             ` Matthew Garrett
2014-04-10 19:15           ` Prarit Bhargava [this message]
2014-04-10 20:26             ` Matthew Garrett
2014-04-11 17:47               ` Prarit Bhargava
     [not found]                 ` <53482AC2.2060605-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2014-04-11 18:55                   ` Matthew Garrett
2014-04-09 18:56     ` Jean Delvare
2014-04-09 18:58       ` Matthew Garrett
2014-04-09 20:25         ` Jean Delvare
2014-04-09 16:37   ` Jean Delvare
2014-04-09 16:57     ` Prarit Bhargava
     [not found]       ` <53457C00.1030400-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2014-04-09 20:27         ` Jean Delvare

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=5346EDEA.3070704@redhat.com \
    --to=prarit-h+wxahxf7alqt0dzr+alfa@public.gmane.org \
    --cc=bhelgaas-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org \
    --cc=janet.morgan-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
    --cc=khali-PUYAD+kWke1g9hUCZPvPmw@public.gmane.org \
    --cc=linux-acpi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=matthew.garrett-05XSO3Yj/JvQT0dZR+AlfA@public.gmane.org \
    --cc=mstowe-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
    --cc=rjw-LthD3rsA81gm4RdzfppkhA@public.gmane.org \
    --cc=seth.heasley-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).