Re: [PATCH V2] PCI/portdrv: do not disable device on reboot/shutdown

2018-05-25 Thread Sinan Kaya
On 5/24/2018 2:35 PM, Bjorn Helgaas wrote: > That sounds like a reasonable idea, and it is definitely another can > of worms. I looked briefly at some of the .shutdown() cases: should we throw it into 4.18 and see what happens? -- Sinan Kaya Qualcomm Datacenter Technologies, Inc.

Re: [PATCH V2] PCI/portdrv: do not disable device on reboot/shutdown

2018-05-24 Thread Sinan Kaya
On 5/23/2018 6:57 PM, Sinan Kaya wrote: >> The crash seems to indicate that the hpsa device attempted a DMA after >> we cleared the Root Port's PCI_COMMAND_MASTER, which means >> hpsa_shutdown() didn't stop DMA from the device (it looks like *most* >> shutdown me

Re: [PATCH V2] PCI/portdrv: do not disable device on reboot/shutdown

2018-05-23 Thread Sinan Kaya
ybe only) way to call .remove() is to hot-remove > the port? And .shutdown() is basically used in the reboot and kexec > paths? Correct. shutdown() is only called during reboot/shutdown calls. If you echo 1 into the remove file, remove() gets called. Handy for hotplug use cases. It needs to b

[PATCH v4 3/7] scsi: dpt_i2o: eliminate duplicate barriers on weakly-ordered archs

2018-03-19 Thread Sinan Kaya
-off-by: Sinan Kaya --- drivers/scsi/dpt_i2o.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/scsi/dpt_i2o.c b/drivers/scsi/dpt_i2o.c index fd172b0..3c1e64a 100644 --- a/drivers/scsi/dpt_i2o.c +++ b/drivers/scsi/dpt_i2o.c @@ -1300,7 +1300,7 @@ static s32

[PATCH v4 2/7] scsi: megaraid: eliminate duplicate barriers on weakly-ordered archs

2018-03-19 Thread Sinan Kaya
following a barrier(). Since code already has an explicit barrier call, changing writel() to writel_relaxed(). Signed-off-by: Sinan Kaya --- drivers/scsi/megaraid/megaraid_mbox.c | 8 drivers/scsi/megaraid/megaraid_mbox.h | 2 ++ drivers/scsi/megaraid/megaraid_sas_fusion.c

[PATCH v4 6/7] scsi: bnx2i: Eliminate duplicate barriers on weakly-ordered archs

2018-03-19 Thread Sinan Kaya
-off-by: Sinan Kaya --- drivers/scsi/bnx2i/bnx2i_hwi.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/scsi/bnx2i/bnx2i_hwi.c b/drivers/scsi/bnx2i/bnx2i_hwi.c index 8f03a86..075735b 100644 --- a/drivers/scsi/bnx2i/bnx2i_hwi.c +++ b/drivers/scsi/bnx2i/bnx2i_hwi.c

[PATCH v4 7/7] scsi: csiostor: Eliminate duplicate barriers on weakly-ordered archs

2018-03-19 Thread Sinan Kaya
following a barrier(). Signed-off-by: Sinan Kaya --- drivers/scsi/csiostor/csio_hw.h | 4 drivers/scsi/csiostor/csio_wr.c | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/drivers/scsi/csiostor/csio_hw.h b/drivers/scsi/csiostor/csio_hw.h index 30f5f52..9fd8b00 100644

[PATCH v4 5/7] scsi: ipr: Eliminate duplicate barriers on weakly-ordered archs

2018-03-19 Thread Sinan Kaya
-off-by: Sinan Kaya --- drivers/scsi/ipr.c | 7 --- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/drivers/scsi/ipr.c b/drivers/scsi/ipr.c index e07dd99..209adac 100644 --- a/drivers/scsi/ipr.c +++ b/drivers/scsi/ipr.c @@ -762,9 +762,9 @@ static void

[PATCH v4 4/7] scsi: lpfc: Eliminate duplicate barriers on weakly-ordered archs

2018-03-19 Thread Sinan Kaya
-off-by: Sinan Kaya --- drivers/scsi/lpfc/lpfc_sli.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/scsi/lpfc/lpfc_sli.c b/drivers/scsi/lpfc/lpfc_sli.c index 5f5528a..7dae7d3 100644 --- a/drivers/scsi/lpfc/lpfc_sli.c +++ b/drivers/scsi/lpfc/lpfc_sli.c @@ -1647,7

[PATCH v4 1/7] scsi: hpsa: Eliminate duplicate barriers on weakly-ordered archs

2018-03-19 Thread Sinan Kaya
-by: Sinan Kaya --- drivers/scsi/hpsa.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/scsi/hpsa.h b/drivers/scsi/hpsa.h index 018f980..c7d7e6a 100644 --- a/drivers/scsi/hpsa.h +++ b/drivers/scsi/hpsa.h @@ -599,7 +599,7 @@ static unsigned long

[PATCH v4 0/7] scsi: Eliminate duplicate barriers on weakly-ordered archs

2018-03-19 Thread Sinan Kaya
together into subsystems scsi:... - collect reviewed and tested bys - scrub barrier() Sinan Kaya (7): scsi: hpsa: Eliminate duplicate barriers on weakly-ordered archs scsi: megaraid: eliminate duplicate barriers on weakly-ordered archs scsi: dpt_i2o: eliminate duplicate barriers on weakly-ordered

[PATCH v3 08/18] scsi: hpsa: Eliminate duplicate barriers on weakly-ordered archs

2018-03-16 Thread Sinan Kaya
-by: Sinan Kaya --- drivers/scsi/hpsa.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/scsi/hpsa.h b/drivers/scsi/hpsa.h index 018f980..c7d7e6a 100644 --- a/drivers/scsi/hpsa.h +++ b/drivers/scsi/hpsa.h @@ -599,7 +599,7 @@ static unsigned long

Re: [PATCH V2] scsi: mpt3sas: remove redundant wmb

2017-04-21 Thread Sinan Kaya
ory_ memory barriers are required to enforce ordering. -- Sinan Kaya Qualcomm Datacenter Technologies, Inc. as an affiliate of Qualcomm Technologies, Inc. Qualcomm Technologies, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project.

[PATCH V2] scsi: mpt3sas: remove redundant wmb

2017-04-07 Thread Sinan Kaya
(). writel() function on arm/arm64 arhictectures have an embedded wmb() call inside. This results in unnecessary performance loss and code duplication. writel already guarantees ordering for both cpu and bus. we don't need additional wmb() Signed-off-by: Sinan Kaya --- drivers/scsi/mp

Re: [PATCH] scsi: mpt3sas: remove redundant wmb on arm/arm64

2017-04-07 Thread Sinan Kaya
would currently eliminate the bus > ordering. Yeah, that's why I recommended to remove the wmb() with a follow up instead of using the relaxed with a follow up. writel already guarantees ordering for both cpu and bus. we don't need additional wmb() -- Sinan Kaya Qualcomm Datac

Re: [PATCH] scsi: mpt3sas: remove redundant wmb on arm/arm64

2017-04-07 Thread Sinan Kaya
On 4/7/2017 12:41 PM, Sinan Kaya wrote: > The right thing was to either call __raw_writel/__raw_readl or > write_relaxed/read_relaxed for multi-arch compatibility. One can also argue to get rid of wmb(). I can go either way based on the recommendation. -- Sinan Kaya Qualcomm Data

[PATCH] scsi: mpt3sas: remove redundant wmb on arm/arm64

2017-04-07 Thread Sinan Kaya
__raw_writel/__raw_readl or write_relaxed/read_relaxed for multi-arch compatibility. Signed-off-by: Sinan Kaya --- drivers/scsi/mpt3sas/mpt3sas_base.c | 21 +++-- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/drivers/scsi/mpt3sas/mpt3sas_base.c b/drivers/scsi/mpt3sas

Re: [RFC 1/8] Introduce Peer-to-Peer memory (p2pmem) device

2017-04-02 Thread Sinan Kaya
tion belongs to your particular product tuning guide or a howto document not into the actual code itself. I think you should get rid of all pci searching business in your code. -- Sinan Kaya Qualcomm Datacenter Technologies, Inc. as an affiliate of Qualcomm Technologies, Inc. Qualcomm Technologies, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project.

Re: [RFC 1/8] Introduce Peer-to-Peer memory (p2pmem) device

2017-04-01 Thread Sinan Kaya
hen uses this bit to decide when it should enable its feature. Bjorn and Alex needs to device about the final solution as they maintain both PCI and virtualization (ACS) respectively. Sinan -- Sinan Kaya Qualcomm Datacenter Technologies, Inc. as an affiliate of Qualcomm Technologies, Inc. Qualcomm Technologies, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project.

Re: [RFC 1/8] Introduce Peer-to-Peer memory (p2pmem) device

2017-03-31 Thread Sinan Kaya
On 3/31/2017 6:42 PM, Logan Gunthorpe wrote: > > > On 31/03/17 03:38 PM, Sinan Kaya wrote: >> On 3/31/2017 5:23 PM, Logan Gunthorpe wrote: >>> What exactly would you white/black list? It can't be the NIC or the >>> disk. If it's going to be a white/bla

Re: [RFC 1/8] Introduce Peer-to-Peer memory (p2pmem) device

2017-03-31 Thread Sinan Kaya
ture enabled by default without any assumptions. Using it with a switch is just a use case that you happened to test. It can allow new architectures to use your code tomorrow. Sinan -- Sinan Kaya Qualcomm Datacenter Technologies, Inc. as an affiliate of Qualcomm Technologies, Inc. Qualcomm Technolo

Re: [RFC 1/8] Introduce Peer-to-Peer memory (p2pmem) device

2017-03-31 Thread Sinan Kaya
2pmem_unregister); > + I don't like the ugliness around the switch port to be honest. Going to whitelist/blacklist looks simpler in my opinion. Sinan -- Sinan Kaya Qualcomm Datacenter Technologies, Inc. as an affiliate of Qualcomm Technologies, Inc. Qualcomm Technologies, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project.

Re: [PATCH V2 1/3] scsi: mptxsas: try 64 bit DMA when 32 bit DMA fails

2015-11-10 Thread Sinan Kaya
table, the device is in IOMMU translation mode. Details are in the IORT spec. -- Sinan Kaya Qualcomm Technologies, Inc. on behalf of Qualcomm Innovation Center, Inc. Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project -- To unsubscribe

Re: [PATCH V2 1/3] scsi: mptxsas: try 64 bit DMA when 32 bit DMA fails

2015-11-10 Thread Sinan Kaya
e if the card cannot do 64 bit DMA when IOMMU is not there. I need IOMMU enabled all the time for this card. -- Sinan Kaya Qualcomm Technologies, Inc. on behalf of Qualcomm Innovation Center, Inc. Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collabor

Re: [PATCH V2 1/3] scsi: mptxsas: try 64 bit DMA when 32 bit DMA fails

2015-11-10 Thread Sinan Kaya
;? The code isn't broken, it's parametrising issues with particular hardware. There's no software work around (except allocating memory with the correct characteristics). Need confirmation. I'm questioning if we are stuck with this behavior because of altix or something else. If

Re: [PATCH V2 1/3] scsi: mptxsas: try 64 bit DMA when 32 bit DMA fails

2015-11-10 Thread Sinan Kaya
On 11/10/2015 1:27 PM, James Bottomley wrote: On Tue, 2015-11-10 at 12:19 -0500, Sinan Kaya wrote: On 11/10/2015 11:47 AM, Arnd Bergmann wrote: On Tuesday 10 November 2015 11:06:40 Sinan Kaya wrote: On 11/10/2015 3:38 AM, Arnd Bergmann wrote: From the email thread, it looks like this was

Re: [PATCH V2 1/3] scsi: mptxsas: try 64 bit DMA when 32 bit DMA fails

2015-11-10 Thread Sinan Kaya
On 11/10/2015 11:47 AM, Arnd Bergmann wrote: On Tuesday 10 November 2015 11:06:40 Sinan Kaya wrote: On 11/10/2015 3:38 AM, Arnd Bergmann wrote: > No, as Timur found, the driver is correct and it intentionally sets the 32-bit mask, and that is guaranteed to work on all sane hardware. Do

Re: [PATCH V2 1/3] scsi: mptxsas: try 64 bit DMA when 32 bit DMA fails

2015-11-10 Thread Sinan Kaya
ge the address map for PCIe. SBSA requires all inbound PCIe addresses to be non-translated. I'll just have to stick with IOMMU for this card. -- Sinan Kaya Qualcomm Technologies, Inc. on behalf of Qualcomm Innovation Center, Inc. Qualcomm Innovation Center, Inc. is a member of Code Aurora Fo

Re: [PATCH V2 3/3] scsi: mptxsas: offload IRQ execution

2015-11-09 Thread Sinan Kaya
On 11/9/2015 2:15 AM, Hannes Reinecke wrote: On 11/09/2015 02:57 AM, Sinan Kaya wrote: The mpt2sas and mpt3sas drivers are spinning forever in their IRQ handlers if there are a lot of jobs queued up by the PCIe card. This handler is causing spikes for the rest of the system and sluggish

Re: [PATCH V2 2/3] scsi: fix compiler warning for sg

2015-11-09 Thread Sinan Kaya
On 11/9/2015 10:26 PM, Timur Tabi wrote: Sinan Kaya wrote: I created this patch back in March with an older version of the compiler and older kernel (3.19). I'm no longer able to reproduce this with this compiler and linux-next. Thread model: posix gcc version 4.8.3 20140401 (prere

Re: [PATCH V2 2/3] scsi: fix compiler warning for sg

2015-11-09 Thread Sinan Kaya
version of the compiler and older kernel (3.19). I'm no longer able to reproduce this with this compiler and linux-next. Thread model: posix gcc version 4.8.3 20140401 (prerelease) (crosstool-NG linaro-1.13.1-4.8-2014.04 - Linaro GCC 4.8-2014.04) I'll drop this patch. -- Sinan Kaya Qualc

Re: [PATCH V2 1/3] scsi: mptxsas: try 64 bit DMA when 32 bit DMA fails

2015-11-09 Thread Sinan Kaya
On 11/9/2015 9:33 AM, Arnd Bergmann wrote: On Monday 09 November 2015 09:07:36 Sinan Kaya wrote: On 11/9/2015 3:59 AM, Arnd Bergmann wrote: On Monday 09 November 2015 08:09:39 Hannes Reinecke wrote: On 11/09/2015 02:57 AM, Sinan Kaya wrote: Current code gives up when 32 bit DMA is not

Re: [PATCH V2 1/3] scsi: mptxsas: try 64 bit DMA when 32 bit DMA fails

2015-11-09 Thread Sinan Kaya
On 11/9/2015 3:59 AM, Arnd Bergmann wrote: On Monday 09 November 2015 08:09:39 Hannes Reinecke wrote: On 11/09/2015 02:57 AM, Sinan Kaya wrote: Current code gives up when 32 bit DMA is not supported. This problem has been observed on systems without any memory below 4 gig. This patch tests

Re: [PATCH V2 3/3] scsi: mptxsas: offload IRQ execution

2015-11-09 Thread Sinan Kaya
On 11/9/2015 2:15 AM, Hannes Reinecke wrote: On 11/09/2015 02:57 AM, Sinan Kaya wrote: The mpt2sas and mpt3sas drivers are spinning forever in their IRQ handlers if there are a lot of jobs queued up by the PCIe card. This handler is causing spikes for the rest of the system and sluggish

Re: [PATCH V2 1/3] scsi: mptxsas: try 64 bit DMA when 32 bit DMA fails

2015-11-09 Thread Sinan Kaya
On 11/9/2015 2:09 AM, Hannes Reinecke wrote: On 11/09/2015 02:57 AM, Sinan Kaya wrote: Current code gives up when 32 bit DMA is not supported. This problem has been observed on systems without any memory below 4 gig. This patch tests 64 bit support before bailing out to find a working

[PATCH V2 3/3] scsi: mptxsas: offload IRQ execution

2015-11-08 Thread Sinan Kaya
context. This relexes the rest of the system execution. Signed-off-by: Sinan Kaya --- drivers/scsi/mpt2sas/mpt2sas_base.c | 12 drivers/scsi/mpt3sas/mpt3sas_base.c | 13 + 2 files changed, 17 insertions(+), 8 deletions(-) diff --git a/drivers/scsi/mpt2sas/mpt2sas_base.c b

[PATCH V2 1/3] scsi: mptxsas: try 64 bit DMA when 32 bit DMA fails

2015-11-08 Thread Sinan Kaya
Current code gives up when 32 bit DMA is not supported. This problem has been observed on systems without any memory below 4 gig. This patch tests 64 bit support before bailing out to find a working combination. Signed-off-by: Sinan Kaya --- drivers/scsi/mpt2sas/mpt2sas_base.c | 21

[PATCH V2 2/3] scsi: fix compiler warning for sg

2015-11-08 Thread Sinan Kaya
The MULDIV macro has been designed for small numbers. Compiler emits an overflow warning on 64 bit systems. This patch uses 64 bit numbers in order to suppress warning. Signed-off-by: Sinan Kaya --- drivers/scsi/sg.c | 20 +--- 1 file changed, 13 insertions(+), 7 deletions

[PATCH V2 0/3] scsi: mptxsas: updates for ARM64

2015-11-08 Thread Sinan Kaya
* None Sinan Kaya (3): scsi: mptxsas: try 64 bit DMA when 32 bit DMA fails scsi: fix compiler warning for sg scsi: mptxsas: offload IRQ execution drivers/scsi/mpt2sas/mpt2sas_base.c | 33 - drivers/scsi/mpt3sas/mpt3sas_base.c | 35

Re: [PATCH 3/4] scsi: fix compiler warning for sg

2015-11-08 Thread Sinan Kaya
On 11/5/2015 2:56 PM, Andy Shevchenko wrote: On Thu, Nov 5, 2015 at 9:31 PM, Andy Shevchenko wrote: On Thu, Nov 5, 2015 at 8:32 PM, Sinan Kaya wrote: On 11/5/2015 1:07 PM, Andy Shevchenko wrote: Let's try again. static inline u64 mult_frac64(u64 x, u32 numer, u32 denom) {

Re: [PATCH 3/4] scsi: fix compiler warning for sg

2015-11-05 Thread Sinan Kaya
On 11/5/2015 2:56 PM, Andy Shevchenko wrote: One more look to the users of MULDIV. They all seems 32 bit for x. It means you don't need two do_div()s at all. Just do something like: u64 d = x * numer; do_div(d, denom); return d; OK. I assume you want a change only in this file. --

Re: [PATCH 3/4] scsi: fix compiler warning for sg

2015-11-05 Thread Sinan Kaya
nsecs <<= 9; do_div(nsecs, 125); ... } Let's try again. static inline u64 mult_frac64(u64 x, u32 numer, u32 denom) { u64 rem = x % denom; u64 quot = do_div(x, denom); u64 mul = rem * numer; return (quot * numer) + do_div(mul, denom); } I&

Re: [PATCH 3/4] scsi: fix compiler warning for sg

2015-11-05 Thread Sinan Kaya
On 11/5/2015 3:48 AM, Andy Shevchenko wrote: On Thu, Nov 5, 2015 at 6:46 AM, Sinan Kaya wrote: The MULDIV macro has been designed for small numbers. It emits an overflow warning on 64 bit systems. This patch places type casts in the parameters to fix the compiler warning. Signed-off-by

[PATCH 2/4] scsi: mpt3sas: try 64 bit DMA when 32 bit DMA fails

2015-11-04 Thread Sinan Kaya
Current code gives up when 32 bit DMA is not supported. This patch tests 64 bit support before bailing out in such conditions. Signed-off-by: Sinan Kaya --- drivers/scsi/mpt3sas/mpt3sas_base.c | 22 +- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/drivers

[PATCH 3/4] scsi: fix compiler warning for sg

2015-11-04 Thread Sinan Kaya
The MULDIV macro has been designed for small numbers. It emits an overflow warning on 64 bit systems. This patch places type casts in the parameters to fix the compiler warning. Signed-off-by: Sinan Kaya --- drivers/scsi/sg.c | 5 - 1 file changed, 4 insertions(+), 1 deletion(-) diff --git

[PATCH 4/4] scsi: mptxsas: offload IRQ execution

2015-11-04 Thread Sinan Kaya
. This relexes the rest of the system execution. Signed-off-by: Sinan Kaya --- drivers/scsi/mpt2sas/mpt2sas_base.c | 13 + drivers/scsi/mpt3sas/mpt3sas_base.c | 14 ++ 2 files changed, 19 insertions(+), 8 deletions(-) mode change 100644 => 100755 drivers/scsi/mpt3

[PATCH 1/4] scsi: mpt2sas: try 64 bit DMA when 32 bit DMA fails

2015-11-04 Thread Sinan Kaya
Current code gives up when 32 bit DMA is not supported. This patch tests 64 bit support before bailing out in such conditions. Signed-off-by: Sinan Kaya --- drivers/scsi/mpt2sas/mpt2sas_base.c | 21 - 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/drivers/scsi