This patch provide true fast path IO support.
Driver creates PRP for NVME drives and send Fast Path for performance.
Certain h/w requirement needs to be taken care in driver.
Signed-off-by: Shivasharan S
Signed-off-by: Kashyap Desai
Reviewed-by: Hannes Reinecke
Reviewed-by: Tomas Henzl
---
dr
Memset the IO frame to zero after release.
Signed-off-by: Kashyap Desai
Signed-off-by: Shivasharan S
Reviewed-by: Hannes Reinecke
Reviewed-by: Tomas Henzl
---
drivers/scsi/megaraid/megaraid_sas.h | 1 +
drivers/scsi/megaraid/megaraid_sas_base.c | 10 ++
2 files changed, 7 insert
Signed-off-by: Shivasharan S
Signed-off-by: Kashyap Desai
Reviewed-by: Hannes Reinecke
Reviewed-by: Tomas Henzl
---
drivers/scsi/megaraid/megaraid_sas_base.c | 25 ++---
1 file changed, 14 insertions(+), 11 deletions(-)
diff --git a/drivers/scsi/megaraid/megaraid_sas_base.
Minor Optimization: No need to update HBA can_queue value
if the current max FW commands is equal to earlier value.
Signed-off-by: Kashyap Desai
Signed-off-by: Shivasharan S
Reviewed-by: Hannes Reinecke
Reviewed-by: Tomas Henzl
---
drivers/scsi/megaraid/megaraid_sas_fusion.c | 2 +-
1 file ch
Signed-off-by: Kashyap Desai
Signed-off-by: Shivasharan S
Reviewed-by: Hannes Reinecke
Reviewed-by: Tomas Henzl
---
drivers/scsi/megaraid/megaraid_sas_fusion.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/drivers/scsi/megaraid/megaraid_sas_fusion.c
b/drivers/scsi/mega
Moving to use DID_REQUEUE return type for reliable unconditional retries.
Driver wants unconditional re-queue, so replace DID_RESET with DID_REQUEUE
Discussed below -
https://www.spinics.net/lists/linux-scsi/msg102848.html
Signed-off-by: Shivasharan S
Signed-off-by: Kashyap Desai
Reviewed-by: Ha
No functional change. Code refactor.
megasas_fire_cmd_fusion can always use 32 bit descriptor write for ventura. No
need to pass extra flag.
Only IOC INIT required 64 bit Descriptor write.
Signed-off-by: Shivasharan S
Signed-off-by: Kashyap Desai
Reviewed-by: Tomas Henzl
Reviewed-by: Hannes Re
Fixing issue of not setting residual bytes correctly.
Signed-off-by: Shivasharan S
Signed-off-by: Kashyap Desai
Reviewed-by: Hannes Reinecke
Reviewed-by: Tomas Henzl
---
drivers/scsi/megaraid/megaraid_sas_fusion.c | 10 ++
1 file changed, 10 insertions(+)
diff --git a/drivers/scsi/me
Fix kernel warning for accessing unaligned memory access in driver.
Signed-off-by: Shivasharan S
Signed-off-by: Kashyap Desai
Reviewed-by: Hannes Reinecke
Reviewed-by: Tomas Henzl
---
drivers/scsi/megaraid/megaraid_sas_base.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --gi
With the changes to remove checks for a valid request descriptor,
issue_dcmd will now always return DCMD_SUCCESS. This patch changes
return type of issue_dcmd to void and change all callers
appropriately.
Signed-off-by: Shivasharan S
Signed-off-by: Kashyap Desai
Reviewed-by: Hannes Reinecke
Rev
Change MR_TargetIdToLdGet return type from u8 to u16.
ld id range check is added at two places in this patch -
@megasas_build_ldio_fusion and @megasas_build_ld_nonrw_fusion.
Previous driver code used different data type for lds TargetId returned from
MR_TargetIdToLdGet.
Prior to this change, abov
Currently fusion context has fixed array load_balance_info. Use dynamic
allocation.
In few places, driver do not want physically contigious memory.
Attempt to use vmalloc if physical contiguous memory is not available.
Signed-off-by: Shivasharan S
Signed-off-by: Kashyap Desai
Reviewed-by: Hanne
Signed-off-by: Shivasharan S
Signed-off-by: Kashyap Desai
Reviewed-by: Hannes Reinecke
Reviewed-by: Tomas Henzl
---
drivers/scsi/megaraid/megaraid_sas_base.c | 19 +++
1 file changed, 11 insertions(+), 8 deletions(-)
diff --git a/drivers/scsi/megaraid/megaraid_sas_base.c
b/dr
This reverts
commit "3e5eadb1a881" ("scsi: megaraid_sas: Enable or Disable Fast path based
on the PCI Threshold Bandwidth")
This patch was aimed to increase performance of R1 Write operation for large IO
size.
Since this method used timer approach, it turn on/off fast path did not work as
expec
Signed-off-by: Shivasharan S
Signed-off-by: Kashyap Desai
Reviewed-by: Hannes Reinecke
Reviewed-by: Tomas Henzl
---
drivers/scsi/megaraid/megaraid_sas.h| 4 ++--
drivers/scsi/megaraid/megaraid_sas_base.c | 20 ++--
drivers/scsi/megaraid/megaraid_sas_fusion.c | 12 +++
No functional change. Code refactor.
Signed-off-by: Shivasharan S
Signed-off-by: Kashyap Desai
Reviewed-by: Hannes Reinecke
Reviewed-by: Tomas Henzl
---
drivers/scsi/megaraid/megaraid_sas_fusion.c | 175
1 file changed, 100 insertions(+), 75 deletions(-)
diff --g
New functionality
Adding detection logic for NVME device attached behind Ventura controller.
Driver set HostPageSize in IOC_INIT frame to inform about page size for NVME
devices.
Firmware reports NVME page size to the driver.
PD INFO DCMD provide new interface type NVME_PD. Driver set property of
Fetch the latest controller OCR capability from FW before
sending MR_DCMD_CTRL_SHUTDOWN
When application sends a shutdown DCMD (MR_DCMD_CTRL_SHUTDOWN),
driver will fetch latest controller information from firmware.
This is to ensure that driver always has latest OCR capability
of controller before
Error handling: Bail out the driver load if
key FW cmds (LD_LIST) are not return successful.
Clean up error handling in megasas_init_fw.
Signed-off-by: Kashyap Desai
Signed-off-by: Shivasharan S
Reviewed-by: Hannes Reinecke
Reviewed-by: Tomas Henzl
---
drivers/scsi/megaraid/megaraid_sas_base.
Signed-off-by: Kashyap Desai
Signed-off-by: Shivasharan S
Reviewed-by: Hannes Reinecke
Reviewed-by: Tomas Henzl
---
drivers/scsi/megaraid/megaraid_sas.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/scsi/megaraid/megaraid_sas.h
b/drivers/scsi/megaraid/megarai
https://bugzilla.kernel.org/show_bug.cgi?id=151661
--- Comment #19 from Arkadiusz Miskiewicz (ar...@maven.pl) ---
Fix:
http://git.kernel.org/cgit/linux/kernel/git/jejb/scsi.git/patch/?id=8af8e1c22f9994bb1849c01d66c24fe23f9bc9a0
--
You are receiving this mail because:
You are watching the assign
Error handling: If controller reset is not able to
recover, kill HBA and quit immediately.
Signed-off-by: Kashyap Desai
Signed-off-by: Shivasharan S
Reviewed-by: Hannes Reinecke
Reviewed-by: Tomas Henzl
---
drivers/scsi/megaraid/megaraid_sas_fusion.c | 1 +
1 file changed, 1 insertion(+)
dif
Fix - increase internal command pool to 8.
Signed-off-by: Kashyap Desai
Signed-off-by: Shivasharan S
Reviewed-by: Hannes Reinecke
Reviewed-by: Tomas Henzl
---
drivers/scsi/megaraid/megaraid_sas.h| 2 +-
drivers/scsi/megaraid/megaraid_sas_fusion.c | 2 +-
2 files changed, 2 insertions(
FIX - firmware wants non-RW SYS PD IOs to avoid FastPath for
better tracking and other functionalities if the device
is task management capable.
Signed-off-by: Kashyap Desai
Signed-off-by: Shivasharan S
Reviewed-by: Hannes Reinecke
Reviewed-by: Tomas Henzl
---
drivers/scsi/megaraid/megaraid_s
No functional change. Code refactor.
Remove function megasas_fpio_to_ldio as we never require to convert fpio to
ldio because of frame unavailability.
Grab extra frame of raid 1 write fast path before it creates first frame as
Fast Path.
Removed is_raid_1_fp_write flag as raid 1 write fast path c
Fix to account for the reply_q_sz not exceeding
the maximum commands that the firmware can support,
instance->max_fw_cmds is already decremented in
megasas_fusion_update_can_queue().
Remove the extra decrement logic in code.
Signed-off-by: Kashyap Desai
Signed-off-by: Shivasharan S
Reviewed-by:
Fix if RDPQ mode enabled MR FW is deployed on big endian host machine,
driver does not setup reply address correctly.
Signed-off-by: Shivasharan S
Signed-off-by: Kashyap Desai
Reviewed-by: Hannes Reinecke
Reviewed-by: Tomas Henzl
---
drivers/scsi/megaraid/megaraid_sas_fusion.c | 2 +-
1 file
Fix indentation issues and smatch warning reported by Dan Carpenter
for previous series as discussed below.
http://www.spinics.net/lists/linux-scsi/msg103635.html
http://www.spinics.net/lists/linux-scsi/msg103603.html
Reported-by: Dan Carpenter
Signed-off-by: Kashyap Desai
Signed-off-by: Sasikum
Avoid Host side PCI bandwidth bottleneck and hint FW to do Write buffering using
RaidFlag MR_RAID_FLAGS_IO_SUB_TYPE_LDIO_BW_LIMIT.
Once IO is landed in FW with MR_RAID_FLAGS_IO_SUB_TYPE_LDIO_BW_LIMIT,
it will do single DMA from host and buffer the Write operation. On back end,
FW will DMA same buff
On a host, if an ld is deleted there is a hole in the ld array returned
by the FW. But in MR_ValidateMapInfo we are not accounting for holes in
the ld array and traverse only upto index num_lds.
This patch takes care of converting the capability field of all the
valid lds in the ld raid map.
Signe
Signed-off-by: Kashyap Desai
Signed-off-by: Shivasharan S
Reviewed-by: Hannes Reinecke
Reviewed-by: Tomas Henzl
---
drivers/scsi/megaraid/megaraid_sas.h| 2 -
drivers/scsi/megaraid/megaraid_sas_base.c | 15 --
drivers/scsi/megaraid/megaraid_sas_fp.c | 266 +
Fix endiannes fixes for Ventura specific.
Signed-off-by: Shivasharan S
Signed-off-by: Kashyap Desai
Reviewed-by: Hannes Reinecke
Reviewed-by: Tomas Henzl
---
Fix in v3: Pass RAID_CONTEXT_G35 pointer to get/set_num_sge
drivers/scsi/megaraid/megaraid_sas_fp.c | 15 ++--
drivers/scsi/mega
This patch fetch true values of NVME property from FW using New DCMD interface
MR_DCMD_DEV_GET_TARGET_PROP
Signed-off-by: Shivasharan S
Signed-off-by: Kashyap Desai
Reviewed-by: Hannes Reinecke
Reviewed-by: Tomas Henzl
---
drivers/scsi/megaraid/megaraid_sas.h| 14 +++
drivers/scsi/m
Changes in v3:
Patch 21: Fix to pass rctx_g35 pointer to set/get_num_sge()
Move all v2 changelog descriptions beyond actual commit message body
Changes in v2:
Patch 3: Fix to update status and ex_status from failed r1_cmd
Patch 8: Split into two separate patches,
1. megasas_get_request_descriptor
FIX - Do not use random delay to synchronize with IRQ. Use kernel API.
Signed-off-by: Kashyap Desai
Signed-off-by: Shivasharan S
Reviewed-by: Hannes Reinecke
Reviewed-by: Tomas Henzl
---
drivers/scsi/megaraid/megaraid_sas_fusion.c | 20 ++--
1 file changed, 18 insertions(+), 2
Add additional logging from driver in OCR context.
Add debug logs for partial completion of IOs is iodone context.
Signed-off-by: Shivasharan S
Signed-off-by: Kashyap Desai
Reviewed-by: Hannes Reinecke
Reviewed-by: Tomas Henzl
---
drivers/scsi/megaraid/megaraid_sas.h| 3 +++
drivers/
Issue is limited for Syncro firmware where pd_after_lb is not set but is
accidentally used.
Not a functional issue, but results in low performance due to improper load
balancing between two LUNs.
Signed-off-by: Kashyap Desai
Signed-off-by: Shivasharan S
Reviewed-by: Hannes Reinecke
Reviewed-b
On Fri, Feb 10, 2017 at 01:45:06PM +0300, Andrey Melnikov wrote:
> Cc: linux-scsi@vger.kernel.org
>
> 2017-02-10 13:24 GMT+03:00 Greg Kroah-Hartman :
> > On Fri, Feb 10, 2017 at 02:25:26AM +0300, Andrey Jr. Melnikov wrote:
> >> In article <201701151205.37563.a.miskiew...@gmail.com> you wrote:
> >>
No functional change. Code clean up. Removing error code which is not
valid scenario.
In megasas_get_request_descriptor we can remove the error handling
which is not required.
With fusion controllers, if there is a valid message frame available,
we are guaranteed to get a corresponding request desc
For RAID1 FastPath writes, driver needs to allocate extra commands
internally to accommodate for the extra peer command being sent.
Currently driver is allocating 2 extra commands for each but only
one extra command is necessary.
Set RAID_1_10_RMW_CMDS to 2 and also change macro name to
RAID_1_PEER
Cc: linux-scsi@vger.kernel.org
2017-02-10 13:24 GMT+03:00 Greg Kroah-Hartman :
> On Fri, Feb 10, 2017 at 02:25:26AM +0300, Andrey Jr. Melnikov wrote:
>> In article <201701151205.37563.a.miskiew...@gmail.com> you wrote:
>> > Newsgroups: gmane.linux.kernel
>>
>>
>> > Hi.
>>
>> > There is a bug with
On 02/10/2017 09:59 AM, Shivasharan S wrote:
> Change MR_TargetIdToLdGet return type from u8 to u16.
>
> ld id range check is added at two places in this patch -
> @megasas_build_ldio_fusion and @megasas_build_ld_nonrw_fusion.
> Previous driver code used different data type for lds TargetId return
Since maximum supported FW commands are all defined as u16, change
all local variables referring to max_cmd from u32 to u16.
Signed-off-by: Kashyap Desai
Signed-off-by: Shivasharan S
Reviewed-by: Hannes Reinecke
Reviewed-by: Tomas Henzl
---
drivers/scsi/megaraid/megaraid_sas_base.c | 10 +++
> -Original Message-
> From: Hannes Reinecke [mailto:h...@suse.com]
> Sent: Friday, February 10, 2017 5:05 PM
> To: Shivasharan S; linux-scsi@vger.kernel.org
> Cc: martin.peter...@oracle.com; the...@redhat.com;
> j...@linux.vnet.ibm.com; kashyap.de...@broadcom.com;
> sumit.sax...@broadcom.c
Code refactoring to build_mpt_mfi_pass_thru to return void.
Signed-off-by: Kashyap Desai
Signed-off-by: Shivasharan S
Reviewed-by: Hannes Reinecke
Reviewed-by: Tomas Henzl
---
drivers/scsi/megaraid/megaraid_sas_fusion.c | 10 ++
1 file changed, 2 insertions(+), 8 deletions(-)
diff --
On 10.2.2017 09:59, Shivasharan S wrote:
> Change MR_TargetIdToLdGet return type from u8 to u16.
>
> ld id range check is added at two places in this patch -
> @megasas_build_ldio_fusion and @megasas_build_ld_nonrw_fusion.
> Previous driver code used different data type for lds TargetId returned fr
On 02/09/2017 10:48 PM, lixi...@cmss.chinamobile.com wrote:
For now the tcmu is based on UIO framework and only using the
map0 with fixed ring buffer size. This will work fine mostly,
but when we are using the 10GBASE NIC, the ring buffer is too
small to deal with the incoming iscsi cmds.
We can
From: Kalle Valo
Date: Thu, 09 Feb 2017 16:10:06 +0200
> Florian Fainelli writes:
>
If not, for something like this it's a must:
drivers/net/wireless/ath/wil6210/cfg80211.c:24:30: error: expected ‘)’
before ‘bool’
module_param(disable_ap_sme, bool, 0444);
On 02/10/2017 10:51 AM, David Miller wrote:
> From: Kalle Valo
> Date: Thu, 09 Feb 2017 16:10:06 +0200
>
>> Florian Fainelli writes:
>>
> If not, for something like this it's a must:
>
> drivers/net/wireless/ath/wil6210/cfg80211.c:24:30: error: expected ‘)’
> before ‘bool’
>
Six fairly small fixes. None is a real show stopper, two automation
detected problems: one memory leak, one use after free and four others
each of which fixes something that has been a significant source of
annoyance to someone.
The patch is available here:
git://git.kernel.org/pub/scm/linux/ker
50 matches
Mail list logo