diff for duplicates of <1503676662.15555.8.camel@synopsys.com> diff --git a/a/1.txt b/N1/1.txt index 3ab71fa..f29a129 100644 --- a/a/1.txt +++ b/N1/1.txt @@ -1,4 +1,4 @@ -On Tue, 2017-08-22@14:44 -0700, Vineet Gupta wrote: +On Tue, 2017-08-22 at 14:44 -0700, Vineet Gupta wrote: > On 07/12/2017 02:40 AM, Eugeniy Paltsev wrote: > > Most of the time we indeed use the one and only LINUX_LINK_BASE > > set to 0x8000_0000. But there might be good reasons to move @@ -9,21 +9,21 @@ On Tue, 2017-08-22@14:44 -0700, Vineet Gupta wrote: > How about something below.... > > Currently IOC aperture base is hardcoded to 0x8000_0000 which may not -> be true for? +> be true for > non default values of CONFIG_LINUX_LINK_BASE, so use the config value > > > and add required asserts: > > checking IOC aperture base address and size to be supported by IOC. > > .... And while at it, also add the required asserts expected by the -> IOC? +> IOC > programming model. > > > -> > Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev at synopsys.com> +> > Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com> > > --- -> > ? arch/arc/mm/cache.c | 33 ++++++++++++++++++++++++--------- -> > ? 1 file changed, 24 insertions(+), 9 deletions(-) +> > arch/arc/mm/cache.c | 33 ++++++++++++++++++++++++--------- +> > 1 file changed, 24 insertions(+), 9 deletions(-) > > > > diff --git a/arch/arc/mm/cache.c b/arch/arc/mm/cache.c > > index a867575..383ff77 100644 @@ -31,9 +31,9 @@ On Tue, 2017-08-22@14:44 -0700, Vineet Gupta wrote: > > +++ b/arch/arc/mm/cache.c > > @@ -1083,7 +1083,8 @@ SYSCALL_DEFINE3(cacheflush, uint32_t, start, > > uint32_t, sz, uint32_t, flags) -> > ???*/ -> > ? noinline void __init arc_ioc_setup(void) -> > ? { +> > */ +> > noinline void __init arc_ioc_setup(void) +> > { > > - unsigned int ap_sz; > > + unsigned int ap_base; > > + long ap_size; @@ -41,7 +41,7 @@ On Tue, 2017-08-22@14:44 -0700, Vineet Gupta wrote: > Is there a reason they are different types ? > Also the way you use it below, best to call it mem_size ! -Ok, I used?long for ap_size as it simply populated by?arc_get_mem_sz +Ok, I used long for ap_size as it simply populated by arc_get_mem_sz ------------->8---------- ap_size = arc_get_mem_sz(); ------------->8---------- @@ -59,27 +59,27 @@ long __init arc_get_mem_sz(void) } ------------->8---------- -> > ?? -> > ?? /* Flush + invalidate + disable L1 dcache */ -> > ?? __dc_disable(); +> > +> > /* Flush + invalidate + disable L1 dcache */ +> > __dc_disable(); > > @@ -1092,18 +1093,32 @@ noinline void __init arc_ioc_setup(void) -> > ?? if (read_aux_reg(ARC_REG_SLC_BCR)) -> > ?? slc_entire_op(OP_FLUSH_N_INV); -> > ?? +> > if (read_aux_reg(ARC_REG_SLC_BCR)) +> > slc_entire_op(OP_FLUSH_N_INV); +> > > > - /* IOC Aperture start: TDB: handle non default > > CONFIG_LINUX_LINK_BASE */ > > - write_aux_reg(ARC_REG_IO_COH_AP0_BASE, 0x80000); > > - -> > ?? /* -> > - ?* IOC Aperture size: -> > - ?*???decoded as 2 ^ (SIZE + 2) KB: so setting 0x11 implies +> > /* +> > - * IOC Aperture size: +> > - * decoded as 2 ^ (SIZE + 2) KB: so setting 0x11 implies > > 512M -> > - ?* TBD: fix for PGU + 1GB of low mem -> > + ?* IOC Aperture size is equal to memory size. -> > + ?* TBD: fix for PGU + 1GiB of low mem +> > - * TBD: fix for PGU + 1GB of low mem +> > + * IOC Aperture size is equal to memory size. +> > + * TBD: fix for PGU + 1GiB of low mem > > Not really averse to this per-se, but conventionally we've not used -> KiB or GiB? +> KiB or GiB > etc, so I'd prefer KB, GB... just for consistency and ability to grep > correctly. @@ -95,8 +95,8 @@ reg = <0x80000000 0x20000000>; /* 512MiB */ .......... -> > ?? ?* TBD: fix for PAE -> > ?? ?*/ +> > * TBD: fix for PAE +> > */ > > - ap_sz = order_base_2(arc_get_mem_sz()/1024) - 2; > > - write_aux_reg(ARC_REG_IO_COH_AP0_SIZE, ap_sz); > > + ap_size = arc_get_mem_sz(); @@ -106,25 +106,25 @@ reg = <0x80000000 0x20000000>; /* 512MiB */ > > than 4KiB"); > > + > > + /* -> > + ?* IOC Aperture size decoded as 2 ^ (SIZE + 2) KiB, -> > + ?* so setting 0x11 implies 512MiB, 0x12 implies 1G... -> > + ?*/ +> > + * IOC Aperture size decoded as 2 ^ (SIZE + 2) KiB, +> > + * so setting 0x11 implies 512MiB, 0x12 implies 1G... +> > + */ > > + write_aux_reg(ARC_REG_IO_COH_AP0_SIZE, > > order_base_2(ap_size / 1024) - 2); > > for (ap_size / 1024) can you use (ap_size >> 10) -I absolutely sure what compiler will implement this division? +I absolutely sure what compiler will implement this division ap_size/1024 as right shift by itself. -So lets don't make things look more complicated?than they are :) +So lets don't make things look more complicated than they are :) > > + > > + /* -> > + ?* For now we assume IOC aperture to cover all the memory +> > + * For now we assume IOC aperture to cover all the memory > > used by the -> > + ?* kernel. -> > + ?*/ +> > + * kernel. +> > + */ > > + ap_base = CONFIG_LINUX_LINK_BASE; > > + > > + if (ap_base % ap_size != 0) @@ -133,13 +133,13 @@ So lets don't make things look more complicated?than they are :) > > This is good. > -> > ?? +> > > > + write_aux_reg(ARC_REG_IO_COH_AP0_BASE, ap_base >> 12); -> > ?? write_aux_reg(ARC_REG_IO_COH_PARTIAL, 1); -> > ?? write_aux_reg(ARC_REG_IO_COH_ENABLE, 1); -> > ?? +> > write_aux_reg(ARC_REG_IO_COH_PARTIAL, 1); +> > write_aux_reg(ARC_REG_IO_COH_ENABLE, 1); +> > > > > > -- -?Eugeniy Paltsev + Eugeniy Paltsev diff --git a/a/content_digest b/N1/content_digest index 73ff4a7..ad58648 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -1,13 +1,19 @@ "ref\020170712094023.23226-1-Eugeniy.Paltsev@synopsys.com\0" "ref\020170712094023.23226-2-Eugeniy.Paltsev@synopsys.com\0" "ref\05184d3eb-31bc-c456-3e65-6137a3ba72f7@synopsys.com\0" - "From\0Eugeniy.Paltsev@synopsys.com (Eugeniy Paltsev)\0" - "Subject\0[PATCH 1/3 v8] ARC: Set IO-coherency aperture base to LINUX_LINK_BASE\0" + "ref\05184d3eb-31bc-c456-3e65-6137a3ba72f7-HKixBCOQz3hWk0Htik3J/w@public.gmane.org\0" + "From\0Eugeniy Paltsev <Eugeniy.Paltsev-HKixBCOQz3hWk0Htik3J/w@public.gmane.org>\0" + "Subject\0Re: [PATCH 1/3 v8] ARC: Set IO-coherency aperture base to LINUX_LINK_BASE\0" "Date\0Fri, 25 Aug 2017 15:57:43 +0000\0" - "To\0linux-snps-arc@lists.infradead.org\0" + "To\0linux-snps-arc-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org <linux-snps-arc-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org>\0" + "Cc\0linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org <linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>" + Vineet.Gupta1-HKixBCOQz3hWk0Htik3J/w@public.gmane.org <Vineet.Gupta1-HKixBCOQz3hWk0Htik3J/w@public.gmane.org> + Alexey.Brodkin-HKixBCOQz3hWk0Htik3J/w@public.gmane.org <Alexey.Brodkin-HKixBCOQz3hWk0Htik3J/w@public.gmane.org> + robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org <robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org> + " devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org <devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>\0" "\00:1\0" "b\0" - "On Tue, 2017-08-22@14:44 -0700, Vineet Gupta wrote:\n" + "On Tue, 2017-08-22 at 14:44 -0700, Vineet Gupta wrote:\n" "> On 07/12/2017 02:40 AM, Eugeniy Paltsev wrote:\n" "> > Most of the time we indeed use the one and only LINUX_LINK_BASE\n" "> > set to 0x8000_0000. But there might be good reasons to move\n" @@ -18,21 +24,21 @@ "> How about something below....\n" "> \n" "> Currently IOC aperture base is hardcoded to 0x8000_0000 which may not\n" - "> be true for?\n" + "> be true for\302\240\n" "> non default values of CONFIG_LINUX_LINK_BASE, so use the config value\n" "> \n" "> > and add required asserts:\n" "> > checking IOC aperture base address and size to be supported by IOC.\n" "> \n" "> .... And while at it, also add the required asserts expected by the\n" - "> IOC?\n" + "> IOC\302\240\n" "> programming model.\n" "> \n" "> > \n" - "> > Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev at synopsys.com>\n" + "> > Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>\n" "> > ---\n" - "> > ? arch/arc/mm/cache.c | 33 ++++++++++++++++++++++++---------\n" - "> > ? 1 file changed, 24 insertions(+), 9 deletions(-)\n" + "> > \302\240 arch/arc/mm/cache.c | 33 ++++++++++++++++++++++++---------\n" + "> > \302\240 1 file changed, 24 insertions(+), 9 deletions(-)\n" "> > \n" "> > diff --git a/arch/arc/mm/cache.c b/arch/arc/mm/cache.c\n" "> > index a867575..383ff77 100644\n" @@ -40,9 +46,9 @@ "> > +++ b/arch/arc/mm/cache.c\n" "> > @@ -1083,7 +1083,8 @@ SYSCALL_DEFINE3(cacheflush, uint32_t, start,\n" "> > uint32_t, sz, uint32_t, flags)\n" - "> > ???*/\n" - "> > ? noinline void __init arc_ioc_setup(void)\n" - "> > ? {\n" + "> > \302\240\302\240\302\240*/\n" + "> > \302\240 noinline void __init arc_ioc_setup(void)\n" + "> > \302\240 {\n" "> > -\tunsigned int ap_sz;\n" "> > +\tunsigned int ap_base;\n" "> > +\tlong ap_size;\n" @@ -50,7 +56,7 @@ "> Is there a reason they are different types ?\n" "> Also the way you use it below, best to call it mem_size !\n" "\n" - "Ok, I used?long for ap_size as it simply populated by?arc_get_mem_sz\n" + "Ok, I used\302\240long for ap_size as it simply populated by\302\240arc_get_mem_sz\n" "------------->8----------\n" "ap_size = arc_get_mem_sz();\n" "------------->8----------\n" @@ -68,27 +74,27 @@ "}\n" "------------->8----------\n" "\n" - "> > ??\n" - "> > ??\t/* Flush + invalidate + disable L1 dcache */\n" - "> > ??\t__dc_disable();\n" + "> > \302\240\302\240\n" + "> > \302\240\302\240\t/* Flush + invalidate + disable L1 dcache */\n" + "> > \302\240\302\240\t__dc_disable();\n" "> > @@ -1092,18 +1093,32 @@ noinline void __init arc_ioc_setup(void)\n" - "> > ??\tif (read_aux_reg(ARC_REG_SLC_BCR))\n" - "> > ??\t\tslc_entire_op(OP_FLUSH_N_INV);\n" - "> > ??\n" + "> > \302\240\302\240\tif (read_aux_reg(ARC_REG_SLC_BCR))\n" + "> > \302\240\302\240\t\tslc_entire_op(OP_FLUSH_N_INV);\n" + "> > \302\240\302\240\n" "> > -\t/* IOC Aperture start: TDB: handle non default\n" "> > CONFIG_LINUX_LINK_BASE */\n" "> > -\twrite_aux_reg(ARC_REG_IO_COH_AP0_BASE, 0x80000);\n" "> > -\n" - "> > ??\t/*\n" - "> > -\t?* IOC Aperture size:\n" - "> > -\t?*???decoded as 2 ^ (SIZE + 2) KB: so setting 0x11 implies\n" + "> > \302\240\302\240\t/*\n" + "> > -\t\302\240* IOC Aperture size:\n" + "> > -\t\302\240*\302\240\302\240\302\240decoded as 2 ^ (SIZE + 2) KB: so setting 0x11 implies\n" "> > 512M\n" - "> > -\t?* TBD: fix for PGU + 1GB of low mem\n" - "> > +\t?* IOC Aperture size is equal to memory size.\n" - "> > +\t?* TBD: fix for PGU + 1GiB of low mem\n" + "> > -\t\302\240* TBD: fix for PGU + 1GB of low mem\n" + "> > +\t\302\240* IOC Aperture size is equal to memory size.\n" + "> > +\t\302\240* TBD: fix for PGU + 1GiB of low mem\n" "> \n" "> Not really averse to this per-se, but conventionally we've not used\n" - "> KiB or GiB?\n" + "> KiB or GiB\302\240\n" "> etc, so I'd prefer KB, GB... just for consistency and ability to grep\n" "> correctly.\n" "\n" @@ -104,8 +110,8 @@ "..........\n" "\n" "\n" - "> > ??\t?* TBD: fix for PAE\n" - "> > ??\t?*/\n" + "> > \302\240\302\240\t\302\240* TBD: fix for PAE\n" + "> > \302\240\302\240\t\302\240*/\n" "> > -\tap_sz = order_base_2(arc_get_mem_sz()/1024) - 2;\n" "> > -\twrite_aux_reg(ARC_REG_IO_COH_AP0_SIZE, ap_sz);\n" "> > +\tap_size = arc_get_mem_sz();\n" @@ -115,25 +121,25 @@ "> > than 4KiB\");\n" "> > +\n" "> > +\t/*\n" - "> > +\t?* IOC Aperture size decoded as 2 ^ (SIZE + 2) KiB,\n" - "> > +\t?* so setting 0x11 implies 512MiB, 0x12 implies 1G...\n" - "> > +\t?*/\n" + "> > +\t\302\240* IOC Aperture size decoded as 2 ^ (SIZE + 2) KiB,\n" + "> > +\t\302\240* so setting 0x11 implies 512MiB, 0x12 implies 1G...\n" + "> > +\t\302\240*/\n" "> > +\twrite_aux_reg(ARC_REG_IO_COH_AP0_SIZE,\n" "> > order_base_2(ap_size / 1024) - 2);\n" "> \n" "> for (ap_size / 1024) can you use (ap_size >> 10)\n" "\n" - "I absolutely sure what compiler will implement this division?\n" + "I absolutely sure what compiler will implement this division\302\240\n" "ap_size/1024 as right shift by itself.\n" "\n" - "So lets don't make things look more complicated?than they are :)\n" + "So lets don't make things look more complicated\302\240than they are :)\n" "\n" "> > +\n" "> > +\t/*\n" - "> > +\t?* For now we assume IOC aperture to cover all the memory\n" + "> > +\t\302\240* For now we assume IOC aperture to cover all the memory\n" "> > used by the\n" - "> > +\t?* kernel.\n" - "> > +\t?*/\n" + "> > +\t\302\240* kernel.\n" + "> > +\t\302\240*/\n" "> > +\tap_base = CONFIG_LINUX_LINK_BASE;\n" "> > +\n" "> > +\tif (ap_base % ap_size != 0)\n" @@ -142,15 +148,15 @@ "> \n" "> This is good.\n" "> \n" - "> > ??\n" + "> > \302\240\302\240\n" "> > +\twrite_aux_reg(ARC_REG_IO_COH_AP0_BASE, ap_base >> 12);\n" - "> > ??\twrite_aux_reg(ARC_REG_IO_COH_PARTIAL, 1);\n" - "> > ??\twrite_aux_reg(ARC_REG_IO_COH_ENABLE, 1);\n" - "> > ??\n" + "> > \302\240\302\240\twrite_aux_reg(ARC_REG_IO_COH_PARTIAL, 1);\n" + "> > \302\240\302\240\twrite_aux_reg(ARC_REG_IO_COH_ENABLE, 1);\n" + "> > \302\240\302\240\n" "> > \n" "> \n" "> \n" "-- \n" - ?Eugeniy Paltsev + "\302\240Eugeniy Paltsev" -32e3c79bde420e31663e886d9125f3ff1e43c4af1c45971192dd47a52101f9bb +46f5f263049a8c4ccf371938a352945fbe51ca8ce14b9d6898e8ba8ea7609497
diff --git a/a/1.txt b/N2/1.txt index 3ab71fa..f29a129 100644 --- a/a/1.txt +++ b/N2/1.txt @@ -1,4 +1,4 @@ -On Tue, 2017-08-22@14:44 -0700, Vineet Gupta wrote: +On Tue, 2017-08-22 at 14:44 -0700, Vineet Gupta wrote: > On 07/12/2017 02:40 AM, Eugeniy Paltsev wrote: > > Most of the time we indeed use the one and only LINUX_LINK_BASE > > set to 0x8000_0000. But there might be good reasons to move @@ -9,21 +9,21 @@ On Tue, 2017-08-22@14:44 -0700, Vineet Gupta wrote: > How about something below.... > > Currently IOC aperture base is hardcoded to 0x8000_0000 which may not -> be true for? +> be true for > non default values of CONFIG_LINUX_LINK_BASE, so use the config value > > > and add required asserts: > > checking IOC aperture base address and size to be supported by IOC. > > .... And while at it, also add the required asserts expected by the -> IOC? +> IOC > programming model. > > > -> > Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev at synopsys.com> +> > Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com> > > --- -> > ? arch/arc/mm/cache.c | 33 ++++++++++++++++++++++++--------- -> > ? 1 file changed, 24 insertions(+), 9 deletions(-) +> > arch/arc/mm/cache.c | 33 ++++++++++++++++++++++++--------- +> > 1 file changed, 24 insertions(+), 9 deletions(-) > > > > diff --git a/arch/arc/mm/cache.c b/arch/arc/mm/cache.c > > index a867575..383ff77 100644 @@ -31,9 +31,9 @@ On Tue, 2017-08-22@14:44 -0700, Vineet Gupta wrote: > > +++ b/arch/arc/mm/cache.c > > @@ -1083,7 +1083,8 @@ SYSCALL_DEFINE3(cacheflush, uint32_t, start, > > uint32_t, sz, uint32_t, flags) -> > ???*/ -> > ? noinline void __init arc_ioc_setup(void) -> > ? { +> > */ +> > noinline void __init arc_ioc_setup(void) +> > { > > - unsigned int ap_sz; > > + unsigned int ap_base; > > + long ap_size; @@ -41,7 +41,7 @@ On Tue, 2017-08-22@14:44 -0700, Vineet Gupta wrote: > Is there a reason they are different types ? > Also the way you use it below, best to call it mem_size ! -Ok, I used?long for ap_size as it simply populated by?arc_get_mem_sz +Ok, I used long for ap_size as it simply populated by arc_get_mem_sz ------------->8---------- ap_size = arc_get_mem_sz(); ------------->8---------- @@ -59,27 +59,27 @@ long __init arc_get_mem_sz(void) } ------------->8---------- -> > ?? -> > ?? /* Flush + invalidate + disable L1 dcache */ -> > ?? __dc_disable(); +> > +> > /* Flush + invalidate + disable L1 dcache */ +> > __dc_disable(); > > @@ -1092,18 +1093,32 @@ noinline void __init arc_ioc_setup(void) -> > ?? if (read_aux_reg(ARC_REG_SLC_BCR)) -> > ?? slc_entire_op(OP_FLUSH_N_INV); -> > ?? +> > if (read_aux_reg(ARC_REG_SLC_BCR)) +> > slc_entire_op(OP_FLUSH_N_INV); +> > > > - /* IOC Aperture start: TDB: handle non default > > CONFIG_LINUX_LINK_BASE */ > > - write_aux_reg(ARC_REG_IO_COH_AP0_BASE, 0x80000); > > - -> > ?? /* -> > - ?* IOC Aperture size: -> > - ?*???decoded as 2 ^ (SIZE + 2) KB: so setting 0x11 implies +> > /* +> > - * IOC Aperture size: +> > - * decoded as 2 ^ (SIZE + 2) KB: so setting 0x11 implies > > 512M -> > - ?* TBD: fix for PGU + 1GB of low mem -> > + ?* IOC Aperture size is equal to memory size. -> > + ?* TBD: fix for PGU + 1GiB of low mem +> > - * TBD: fix for PGU + 1GB of low mem +> > + * IOC Aperture size is equal to memory size. +> > + * TBD: fix for PGU + 1GiB of low mem > > Not really averse to this per-se, but conventionally we've not used -> KiB or GiB? +> KiB or GiB > etc, so I'd prefer KB, GB... just for consistency and ability to grep > correctly. @@ -95,8 +95,8 @@ reg = <0x80000000 0x20000000>; /* 512MiB */ .......... -> > ?? ?* TBD: fix for PAE -> > ?? ?*/ +> > * TBD: fix for PAE +> > */ > > - ap_sz = order_base_2(arc_get_mem_sz()/1024) - 2; > > - write_aux_reg(ARC_REG_IO_COH_AP0_SIZE, ap_sz); > > + ap_size = arc_get_mem_sz(); @@ -106,25 +106,25 @@ reg = <0x80000000 0x20000000>; /* 512MiB */ > > than 4KiB"); > > + > > + /* -> > + ?* IOC Aperture size decoded as 2 ^ (SIZE + 2) KiB, -> > + ?* so setting 0x11 implies 512MiB, 0x12 implies 1G... -> > + ?*/ +> > + * IOC Aperture size decoded as 2 ^ (SIZE + 2) KiB, +> > + * so setting 0x11 implies 512MiB, 0x12 implies 1G... +> > + */ > > + write_aux_reg(ARC_REG_IO_COH_AP0_SIZE, > > order_base_2(ap_size / 1024) - 2); > > for (ap_size / 1024) can you use (ap_size >> 10) -I absolutely sure what compiler will implement this division? +I absolutely sure what compiler will implement this division ap_size/1024 as right shift by itself. -So lets don't make things look more complicated?than they are :) +So lets don't make things look more complicated than they are :) > > + > > + /* -> > + ?* For now we assume IOC aperture to cover all the memory +> > + * For now we assume IOC aperture to cover all the memory > > used by the -> > + ?* kernel. -> > + ?*/ +> > + * kernel. +> > + */ > > + ap_base = CONFIG_LINUX_LINK_BASE; > > + > > + if (ap_base % ap_size != 0) @@ -133,13 +133,13 @@ So lets don't make things look more complicated?than they are :) > > This is good. > -> > ?? +> > > > + write_aux_reg(ARC_REG_IO_COH_AP0_BASE, ap_base >> 12); -> > ?? write_aux_reg(ARC_REG_IO_COH_PARTIAL, 1); -> > ?? write_aux_reg(ARC_REG_IO_COH_ENABLE, 1); -> > ?? +> > write_aux_reg(ARC_REG_IO_COH_PARTIAL, 1); +> > write_aux_reg(ARC_REG_IO_COH_ENABLE, 1); +> > > > > > -- -?Eugeniy Paltsev + Eugeniy Paltsev diff --git a/a/content_digest b/N2/content_digest index 73ff4a7..416b39b 100644 --- a/a/content_digest +++ b/N2/content_digest @@ -1,13 +1,19 @@ "ref\020170712094023.23226-1-Eugeniy.Paltsev@synopsys.com\0" "ref\020170712094023.23226-2-Eugeniy.Paltsev@synopsys.com\0" "ref\05184d3eb-31bc-c456-3e65-6137a3ba72f7@synopsys.com\0" - "From\0Eugeniy.Paltsev@synopsys.com (Eugeniy Paltsev)\0" - "Subject\0[PATCH 1/3 v8] ARC: Set IO-coherency aperture base to LINUX_LINK_BASE\0" + "From\0Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>\0" + "Subject\0Re: [PATCH 1/3 v8] ARC: Set IO-coherency aperture base to LINUX_LINK_BASE\0" "Date\0Fri, 25 Aug 2017 15:57:43 +0000\0" - "To\0linux-snps-arc@lists.infradead.org\0" + "To\0Vineet Gupta <Vineet.Gupta1@synopsys.com>" + " linux-snps-arc@lists.infradead.org <linux-snps-arc@lists.infradead.org>\0" + "Cc\0linux-kernel@vger.kernel.org <linux-kernel@vger.kernel.org>" + Vineet.Gupta1@synopsys.com <Vineet.Gupta1@synopsys.com> + Alexey.Brodkin@synopsys.com <Alexey.Brodkin@synopsys.com> + robh+dt@kernel.org <robh+dt@kernel.org> + " devicetree@vger.kernel.org <devicetree@vger.kernel.org>\0" "\00:1\0" "b\0" - "On Tue, 2017-08-22@14:44 -0700, Vineet Gupta wrote:\n" + "On Tue, 2017-08-22 at 14:44 -0700, Vineet Gupta wrote:\n" "> On 07/12/2017 02:40 AM, Eugeniy Paltsev wrote:\n" "> > Most of the time we indeed use the one and only LINUX_LINK_BASE\n" "> > set to 0x8000_0000. But there might be good reasons to move\n" @@ -18,21 +24,21 @@ "> How about something below....\n" "> \n" "> Currently IOC aperture base is hardcoded to 0x8000_0000 which may not\n" - "> be true for?\n" + "> be true for\302\240\n" "> non default values of CONFIG_LINUX_LINK_BASE, so use the config value\n" "> \n" "> > and add required asserts:\n" "> > checking IOC aperture base address and size to be supported by IOC.\n" "> \n" "> .... And while at it, also add the required asserts expected by the\n" - "> IOC?\n" + "> IOC\302\240\n" "> programming model.\n" "> \n" "> > \n" - "> > Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev at synopsys.com>\n" + "> > Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>\n" "> > ---\n" - "> > ? arch/arc/mm/cache.c | 33 ++++++++++++++++++++++++---------\n" - "> > ? 1 file changed, 24 insertions(+), 9 deletions(-)\n" + "> > \302\240 arch/arc/mm/cache.c | 33 ++++++++++++++++++++++++---------\n" + "> > \302\240 1 file changed, 24 insertions(+), 9 deletions(-)\n" "> > \n" "> > diff --git a/arch/arc/mm/cache.c b/arch/arc/mm/cache.c\n" "> > index a867575..383ff77 100644\n" @@ -40,9 +46,9 @@ "> > +++ b/arch/arc/mm/cache.c\n" "> > @@ -1083,7 +1083,8 @@ SYSCALL_DEFINE3(cacheflush, uint32_t, start,\n" "> > uint32_t, sz, uint32_t, flags)\n" - "> > ???*/\n" - "> > ? noinline void __init arc_ioc_setup(void)\n" - "> > ? {\n" + "> > \302\240\302\240\302\240*/\n" + "> > \302\240 noinline void __init arc_ioc_setup(void)\n" + "> > \302\240 {\n" "> > -\tunsigned int ap_sz;\n" "> > +\tunsigned int ap_base;\n" "> > +\tlong ap_size;\n" @@ -50,7 +56,7 @@ "> Is there a reason they are different types ?\n" "> Also the way you use it below, best to call it mem_size !\n" "\n" - "Ok, I used?long for ap_size as it simply populated by?arc_get_mem_sz\n" + "Ok, I used\302\240long for ap_size as it simply populated by\302\240arc_get_mem_sz\n" "------------->8----------\n" "ap_size = arc_get_mem_sz();\n" "------------->8----------\n" @@ -68,27 +74,27 @@ "}\n" "------------->8----------\n" "\n" - "> > ??\n" - "> > ??\t/* Flush + invalidate + disable L1 dcache */\n" - "> > ??\t__dc_disable();\n" + "> > \302\240\302\240\n" + "> > \302\240\302\240\t/* Flush + invalidate + disable L1 dcache */\n" + "> > \302\240\302\240\t__dc_disable();\n" "> > @@ -1092,18 +1093,32 @@ noinline void __init arc_ioc_setup(void)\n" - "> > ??\tif (read_aux_reg(ARC_REG_SLC_BCR))\n" - "> > ??\t\tslc_entire_op(OP_FLUSH_N_INV);\n" - "> > ??\n" + "> > \302\240\302\240\tif (read_aux_reg(ARC_REG_SLC_BCR))\n" + "> > \302\240\302\240\t\tslc_entire_op(OP_FLUSH_N_INV);\n" + "> > \302\240\302\240\n" "> > -\t/* IOC Aperture start: TDB: handle non default\n" "> > CONFIG_LINUX_LINK_BASE */\n" "> > -\twrite_aux_reg(ARC_REG_IO_COH_AP0_BASE, 0x80000);\n" "> > -\n" - "> > ??\t/*\n" - "> > -\t?* IOC Aperture size:\n" - "> > -\t?*???decoded as 2 ^ (SIZE + 2) KB: so setting 0x11 implies\n" + "> > \302\240\302\240\t/*\n" + "> > -\t\302\240* IOC Aperture size:\n" + "> > -\t\302\240*\302\240\302\240\302\240decoded as 2 ^ (SIZE + 2) KB: so setting 0x11 implies\n" "> > 512M\n" - "> > -\t?* TBD: fix for PGU + 1GB of low mem\n" - "> > +\t?* IOC Aperture size is equal to memory size.\n" - "> > +\t?* TBD: fix for PGU + 1GiB of low mem\n" + "> > -\t\302\240* TBD: fix for PGU + 1GB of low mem\n" + "> > +\t\302\240* IOC Aperture size is equal to memory size.\n" + "> > +\t\302\240* TBD: fix for PGU + 1GiB of low mem\n" "> \n" "> Not really averse to this per-se, but conventionally we've not used\n" - "> KiB or GiB?\n" + "> KiB or GiB\302\240\n" "> etc, so I'd prefer KB, GB... just for consistency and ability to grep\n" "> correctly.\n" "\n" @@ -104,8 +110,8 @@ "..........\n" "\n" "\n" - "> > ??\t?* TBD: fix for PAE\n" - "> > ??\t?*/\n" + "> > \302\240\302\240\t\302\240* TBD: fix for PAE\n" + "> > \302\240\302\240\t\302\240*/\n" "> > -\tap_sz = order_base_2(arc_get_mem_sz()/1024) - 2;\n" "> > -\twrite_aux_reg(ARC_REG_IO_COH_AP0_SIZE, ap_sz);\n" "> > +\tap_size = arc_get_mem_sz();\n" @@ -115,25 +121,25 @@ "> > than 4KiB\");\n" "> > +\n" "> > +\t/*\n" - "> > +\t?* IOC Aperture size decoded as 2 ^ (SIZE + 2) KiB,\n" - "> > +\t?* so setting 0x11 implies 512MiB, 0x12 implies 1G...\n" - "> > +\t?*/\n" + "> > +\t\302\240* IOC Aperture size decoded as 2 ^ (SIZE + 2) KiB,\n" + "> > +\t\302\240* so setting 0x11 implies 512MiB, 0x12 implies 1G...\n" + "> > +\t\302\240*/\n" "> > +\twrite_aux_reg(ARC_REG_IO_COH_AP0_SIZE,\n" "> > order_base_2(ap_size / 1024) - 2);\n" "> \n" "> for (ap_size / 1024) can you use (ap_size >> 10)\n" "\n" - "I absolutely sure what compiler will implement this division?\n" + "I absolutely sure what compiler will implement this division\302\240\n" "ap_size/1024 as right shift by itself.\n" "\n" - "So lets don't make things look more complicated?than they are :)\n" + "So lets don't make things look more complicated\302\240than they are :)\n" "\n" "> > +\n" "> > +\t/*\n" - "> > +\t?* For now we assume IOC aperture to cover all the memory\n" + "> > +\t\302\240* For now we assume IOC aperture to cover all the memory\n" "> > used by the\n" - "> > +\t?* kernel.\n" - "> > +\t?*/\n" + "> > +\t\302\240* kernel.\n" + "> > +\t\302\240*/\n" "> > +\tap_base = CONFIG_LINUX_LINK_BASE;\n" "> > +\n" "> > +\tif (ap_base % ap_size != 0)\n" @@ -142,15 +148,15 @@ "> \n" "> This is good.\n" "> \n" - "> > ??\n" + "> > \302\240\302\240\n" "> > +\twrite_aux_reg(ARC_REG_IO_COH_AP0_BASE, ap_base >> 12);\n" - "> > ??\twrite_aux_reg(ARC_REG_IO_COH_PARTIAL, 1);\n" - "> > ??\twrite_aux_reg(ARC_REG_IO_COH_ENABLE, 1);\n" - "> > ??\n" + "> > \302\240\302\240\twrite_aux_reg(ARC_REG_IO_COH_PARTIAL, 1);\n" + "> > \302\240\302\240\twrite_aux_reg(ARC_REG_IO_COH_ENABLE, 1);\n" + "> > \302\240\302\240\n" "> > \n" "> \n" "> \n" "-- \n" - ?Eugeniy Paltsev + "\302\240Eugeniy Paltsev" -32e3c79bde420e31663e886d9125f3ff1e43c4af1c45971192dd47a52101f9bb +3345d7819fef89a4bf04af599961f6e701b1ebdfe8e5e2916472dc587647c2e5
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.