All of lore.kernel.org
 help / color / mirror / Atom feed
From: Rongrong Zou <zourongrong@huawei.com>
To: Arnd Bergmann <arnd@arndb.de>, Rongrong Zou <zourongrong@gmail.com>
Cc: <minyard@acm.org>, <gregkh@linuxfoundation.org>,
	<catalin.marinas@arm.com>, <will.deacon@arm.com>,
	<linuxarm@huawei.com>, <linux-kernel@vger.kernel.org>,
	<benh@kernel.crashing.org>, <lijianhua@huawei.com>
Subject: Re: [PATCH v1 1/3] ARM64 LPC: indirect ISA PORT IO introduced
Date: Tue, 29 Dec 2015 22:26:27 +0800	[thread overview]
Message-ID: <56829813.2060803@huawei.com> (raw)
In-Reply-To: <3232651.99Svz5pbDW@wuerfel>

Hi Arnd,

Thanks for your comment.

在 2015/12/29 21:47, Arnd Bergmann 写道:
> On Tuesday 29 December 2015 21:33:50 Rongrong Zou wrote:
>> Indirect ISA port I/O accessing introduced, vendors can hook
>> their own in/out function to general inb/outb. Drivers can access
>> legacy ISA I/O port by inb/outb as it is done in x86 platform.
>>
>> Signed-off-by: Rongrong Zou <zourongrong@gmail.com>
>
> Looks correct to me, but I have a few style comments
>
>> ---
>>   arch/arm64/Kconfig.platforms |  5 ++-
>>   arch/arm64/include/asm/io.h  | 78 ++++++++++++++++++++++++++++++++++++++++++++
>>   arch/arm64/kernel/setup.c    |  5 +++
>>   3 files changed, 87 insertions(+), 1 deletion(-)
>>
>> diff --git a/arch/arm64/Kconfig.platforms b/arch/arm64/Kconfig.platforms
>> index 4043c35..98ae206 100644
>> --- a/arch/arm64/Kconfig.platforms
>> +++ b/arch/arm64/Kconfig.platforms
>> @@ -127,5 +127,8 @@ config ARCH_ZYNQMP
>>   	bool "Xilinx ZynqMP Family"
>>   	help
>>   	  This enables support for Xilinx ZynqMP Family
>> -
>> +config ARM64_INDIRECT_PIO
>> +	bool "ARM64 Indirect port I/O"
>> +	help
>> +	  This enables support for ARM64 indirect port I/O
>>   endmenu
>
> The option should probably go into arch/arm64/Kconfig. Possibly you can make
> it a silent option that just gets selected whenever a driver is enabled
> that might set the callbacks.

I try to bind it with HISILICON platform.

>
>> diff --git a/arch/arm64/include/asm/io.h b/arch/arm64/include/asm/io.h
>> index 44be1e0..0041f3b 100644
>> --- a/arch/arm64/include/asm/io.h
>> +++ b/arch/arm64/include/asm/io.h
>> @@ -193,6 +193,84 @@ extern void __iomem *ioremap_cache(phys_addr_t phys_addr, size_t size);
>>    */
>>   #define xlate_dev_kmem_ptr(p)	p
>>
>> +#ifdef CONFIG_ARM64_INDIRECT_PIO
>> +#define DEF_PCI_HOOK_pio(x)   x
>> +#else
>> +#define DEF_PCI_HOOK_pio(x)   NULL
>> +#endif
>
> Maybe just put the entire definition block inside #ifdef and
> fall back to the default inb/outb definitions otherwise.
>
>> +/*
>> + * This value is equal to PCIBIOS_MIN_IO
>> + */
>> +#define LEGACY_ISA_PORT_MAX 0x1000
>
> I would just use PCIBIOS_MIN_IO instead of defining another macro.

Because PCIBIOS_MIN_IO is defined in asm/pci.h, and asm/io.h
is included by asm/pci.h. so do you mean i define PCIBIOS_MIN_IO here,
and in asm/pci.h just use include asm/io.h ?

>
>> +extern struct arm64_isa_io {
>> +	u8 (*inb)(unsigned long port);
>> +	u16 (*inw)(unsigned long port);
>> +	u32 (*inl)(unsigned long port);
>> +	void (*outb)(u8 value, unsigned long port);
>> +	void (*outw)(u16 value, unsigned long port);
>> +	void (*outl)(u32 value, unsigned long port);
>> +} arm64_isa_io;
>
> Maybe make this a single function pointer like
>
> void (*arm64_indirect_pio)(unsigned long port, bool write, int size, void *data);
>
> I'm guessing that this would result in smaller object code at the call sites,
> but you'd have to try.

OK, i try it.

>
> 	Arnd
>
> _______________________________________________
> linuxarm mailing list
> linuxarm@huawei.com
> http://rnd-openeuler.huawei.com/mailman/listinfo/linuxarm
>
> .
>


  reply	other threads:[~2015-12-29 14:27 UTC|newest]

Thread overview: 111+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-12-29 13:33 [PATCH v1 0/3] ARM64 LPC: legacy ISA I/O support Rongrong Zou
2015-12-29 13:33 ` [PATCH v1 1/3] ARM64 LPC: indirect ISA PORT IO introduced Rongrong Zou
2015-12-29 13:47   ` Arnd Bergmann
2015-12-29 14:26     ` Rongrong Zou [this message]
2015-12-29 14:35       ` Arnd Bergmann
2015-12-30  1:24         ` Rongrong Zou
2015-12-30  8:59           ` Arnd Bergmann
2015-12-30  9:28             ` Rongrong Zou
2015-12-30  9:42               ` Arnd Bergmann
2016-01-04 10:11                 ` Will Deacon
2016-01-04 10:27                   ` Rongrong Zou
2016-01-04 10:27                     ` Rongrong Zou
2015-12-29 13:33 ` [PATCH v1 2/3] ARM64 LPC: LPC driver implementation Rongrong Zou
2015-12-29 13:51   ` Arnd Bergmann
2015-12-29 14:03     ` Rongrong Zou
2015-12-29 14:11       ` Arnd Bergmann
2015-12-29 13:33 ` [PATCH v1 3/3] ARM64 LPC: update binding doc Rongrong Zou
2015-12-29 13:52   ` Arnd Bergmann
2015-12-30  9:06   ` Arnd Bergmann
2015-12-31 14:12     ` Rongrong Zou
2015-12-31 14:12       ` Rongrong Zou
2015-12-31 14:40       ` Arnd Bergmann
     [not found]         ` <CABTftiT1+AmrNjiAie-T6on-oWA4Zz73+Tj2pQrixMT3o475uw@mail.gmail.com>
2016-01-03 12:24           ` Rongrong Zou
2016-01-03 12:24             ` Rongrong Zou
2016-01-03 12:24             ` Rongrong Zou
2016-01-04 11:13             ` Arnd Bergmann
2016-01-04 11:13               ` Arnd Bergmann
2016-01-04 11:13               ` Arnd Bergmann
2016-01-04 16:04               ` Rongrong Zou
2016-01-04 16:04                 ` Rongrong Zou
2016-01-04 16:04                 ` Rongrong Zou
2016-01-04 16:34                 ` Arnd Bergmann
2016-01-04 16:34                   ` Arnd Bergmann
2016-01-04 16:34                   ` Arnd Bergmann
2016-01-05 11:59                   ` Rongrong Zou
2016-01-05 11:59                     ` Rongrong Zou
2016-01-05 11:59                     ` Rongrong Zou
2016-01-05 12:19                     ` Arnd Bergmann
2016-01-05 12:19                       ` Arnd Bergmann
2016-01-06 13:36                       ` Rongrong Zou
2016-01-06 13:36                         ` Rongrong Zou
2016-01-06 13:36                         ` Rongrong Zou
2016-01-07  3:37                         ` Rongrong Zou
2016-01-07  3:37                           ` Rongrong Zou
2016-01-07  3:37                           ` Rongrong Zou
2016-01-10  9:29                       ` Rolland Chau
2016-01-10  9:29                         ` Rolland Chau
2016-01-10 13:38                         ` Rongrong Zou
2016-01-10 13:38                           ` Rongrong Zou
2016-01-10 13:38                           ` Rongrong Zou
2016-01-11 16:14               ` liviu.dudau at arm.com
2016-01-11 16:14                 ` liviu.dudau
2016-01-11 16:14                 ` liviu.dudau-5wv7dgnIgG8
2016-01-12  2:39                 ` Rongrong Zou
2016-01-12  2:39                   ` Rongrong Zou
2016-01-12  9:07                   ` liviu.dudau at arm.com
2016-01-12  9:07                     ` liviu.dudau
2016-01-12  9:25                     ` Rongrong Zou
2016-01-12  9:25                       ` Rongrong Zou
2016-01-12  9:25                       ` Rongrong Zou
2016-01-12 10:14                       ` liviu.dudau at arm.com
2016-01-12 10:14                         ` liviu.dudau
2016-01-12 11:05                         ` Rongrong Zou
2016-01-12 11:05                           ` Rongrong Zou
2016-01-12 11:05                           ` Rongrong Zou
2016-01-12 11:27                           ` liviu.dudau at arm.com
2016-01-12 11:27                             ` liviu.dudau
2016-01-12 11:27                             ` liviu.dudau-5wv7dgnIgG8
2016-01-12 11:56                             ` Rongrong Zou
2016-01-12 11:56                               ` Rongrong Zou
2016-01-12 11:56                               ` Rongrong Zou
2016-01-12 15:13                               ` liviu.dudau at arm.com
2016-01-12 15:13                                 ` liviu.dudau
2016-01-12 15:13                                 ` liviu.dudau-5wv7dgnIgG8
2016-01-12 22:52                                 ` Arnd Bergmann
2016-01-12 22:52                                   ` Arnd Bergmann
2016-01-13  5:53                                   ` Benjamin Herrenschmidt
2016-01-13  5:53                                     ` Benjamin Herrenschmidt
2016-01-13  5:53                                     ` Benjamin Herrenschmidt
2016-01-13  6:34                                     ` Rongrong Zou
2016-01-13  6:34                                       ` Rongrong Zou
2016-01-13  6:34                                       ` Rongrong Zou
2016-01-13  9:26                                       ` Arnd Bergmann
2016-01-13  9:26                                         ` Arnd Bergmann
2016-01-13  9:26                                         ` Arnd Bergmann
2016-01-13 10:10                                   ` liviu.dudau at arm.com
2016-01-13 10:10                                     ` liviu.dudau
2016-01-13 10:10                                     ` liviu.dudau-5wv7dgnIgG8
2016-01-13 10:18                                     ` Arnd Bergmann
2016-01-13 10:18                                       ` Arnd Bergmann
2016-01-13 10:32                                       ` liviu.dudau at arm.com
2016-01-13 10:32                                         ` liviu.dudau
2016-01-13 10:32                                         ` liviu.dudau-5wv7dgnIgG8
2016-01-12 22:54                         ` Arnd Bergmann
2016-01-12 22:54                           ` Arnd Bergmann
2016-01-13 10:09                           ` liviu.dudau at arm.com
2016-01-13 10:09                             ` liviu.dudau
2016-01-13 10:09                             ` liviu.dudau-5wv7dgnIgG8
2016-01-13 10:29                             ` Arnd Bergmann
2016-01-13 10:29                               ` Arnd Bergmann
2016-01-13 10:29                               ` Arnd Bergmann
2016-01-13 11:06                             ` Rongrong Zou
2016-01-13 11:06                               ` Rongrong Zou
2016-01-13 11:25                               ` liviu.dudau at arm.com
2016-01-13 11:25                                 ` liviu.dudau
2016-01-13 23:29   ` Benjamin Herrenschmidt
2016-01-14  2:03     ` Rongrong Zou
2016-01-14  3:39       ` Benjamin Herrenschmidt
2016-01-14  4:42         ` Rongrong Zou
2016-01-14 11:25           ` Benjamin Herrenschmidt
2016-01-14 13:11             ` Rongrong Zou

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=56829813.2060803@huawei.com \
    --to=zourongrong@huawei.com \
    --cc=arnd@arndb.de \
    --cc=benh@kernel.crashing.org \
    --cc=catalin.marinas@arm.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=lijianhua@huawei.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linuxarm@huawei.com \
    --cc=minyard@acm.org \
    --cc=will.deacon@arm.com \
    --cc=zourongrong@gmail.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.