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.
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
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
-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
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
-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
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
-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
-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
-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
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
-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
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.
(). 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
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
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
__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
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.
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.
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
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
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.
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
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
;? 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
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
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
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
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
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
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
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
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
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
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
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
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
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
* 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
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) {
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.
--
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&
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
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
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
.
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
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
47 matches
Mail list logo