[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CAHp75Vc8N612-uxLJQw6mJDMkjgN_AAaXBeuOKU07Kzzxo8hUQ@mail.gmail.com>
Date: Wed, 6 Sep 2017 12:00:43 +0300
From: Andy Shevchenko <andy.shevchenko@...il.com>
To: "Kuppuswamy, Sathyanarayanan" <sathyaosid@...il.com>
Cc: Lee Jones <lee.jones@...aro.org>,
Kuppuswamy Sathyanarayanan
<sathyanarayanan.kuppuswamy@...ux.intel.com>,
Souvik Kumar Chakravarty <souvik.k.chakravarty@...el.com>,
"x86@...nel.org" <x86@...nel.org>, Ingo Molnar <mingo@...hat.com>,
Zha Qipeng <qipeng.zha@...el.com>,
"H. Peter Anvin" <hpa@...or.com>,
"dvhart@...radead.org" <dvhart@...radead.org>,
Thomas Gleixner <tglx@...utronix.de>,
Andy Shevchenko <andy@...radead.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
Platform Driver <platform-driver-x86@...r.kernel.org>
Subject: Re: [RFC v2 6/6] platform/x86: intel_pmc_ipc: Use generic Intel IPC
device calls
On Wed, Sep 6, 2017 at 8:27 AM, Kuppuswamy, Sathyanarayanan
<sathyaosid@...il.com> wrote:
> On 9/5/2017 12:38 AM, Lee Jones wrote:
>> On Sat, 02 Sep 2017, sathyanarayanan.kuppuswamy@...ux.intel.com wrote:
>> I'm a bit concerned by the API.
>
> This is not a new change. Even before refactoring this driver, we have been
> using u32 bit variable to pass the DPTR and SPTR address.
>>
>> Any reason why you're not using
>> pointers for addresses?
>
> I think the main reason is, this is the expected format defined by SCU/PMC
> spec. According to the spec document, SPTR and DPTR registers are used to
> program the 32 bit SRAM address from which the PMC/SCU firmware can
> read/write the data of an IPC command. if we are not using SPTR or DPTR, we
> need to leave the value at zero.
It's an effect, the cause is that the system controllers which are
used in Intel SoCs are 32-bit microprocessors and they can't address
more. That's why SRAM is placed in 32-bit address space.
And thus, the SCU protocol defines fixed width parameters for
addresses. So, it means we can't use any address outside of 4G space,
iow 32-bit wide.
>> pointers, you should be using NULL, instead of 0.
--
With Best Regards,
Andy Shevchenko
Powered by blists - more mailing lists