Skip to content

Commit de51637

Browse files
shivasharan-smartinkpetersen
authored andcommitted
scsi: megaraid_sas: changes to function prototypes
Instead of the register address, pass the instance pointer to clear_intr and read_fw_status_reg functions. This is done in preparation for adding adapter type based checks in these functions in later patches of this series. Signed-off-by: Shivasharan S <shivasharan.srikanteshwara@broadcom.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
1 parent 154a7cd commit de51637

File tree

3 files changed

+60
-59
lines changed

3 files changed

+60
-59
lines changed

drivers/scsi/megaraid/megaraid_sas.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2413,9 +2413,9 @@ struct megasas_instance_template {
24132413
void (*enable_intr)(struct megasas_instance *);
24142414
void (*disable_intr)(struct megasas_instance *);
24152415

2416-
int (*clear_intr)(struct megasas_register_set __iomem *);
2416+
int (*clear_intr)(struct megasas_instance *);
24172417

2418-
u32 (*read_fw_status_reg)(struct megasas_register_set __iomem *);
2418+
u32 (*read_fw_status_reg)(struct megasas_instance *);
24192419
int (*adp_reset)(struct megasas_instance *, \
24202420
struct megasas_register_set __iomem *);
24212421
int (*check_reset)(struct megasas_instance *, \

drivers/scsi/megaraid/megaraid_sas_base.c

Lines changed: 34 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -190,7 +190,7 @@ void
190190
megasas_complete_cmd(struct megasas_instance *instance, struct megasas_cmd *cmd,
191191
u8 alt_status);
192192
static u32
193-
megasas_read_fw_status_reg_gen2(struct megasas_register_set __iomem *regs);
193+
megasas_read_fw_status_reg_gen2(struct megasas_instance *instance);
194194
static int
195195
megasas_adp_reset_gen2(struct megasas_instance *instance,
196196
struct megasas_register_set __iomem *reg_set);
@@ -420,19 +420,21 @@ megasas_disable_intr_xscale(struct megasas_instance *instance)
420420
* @regs: MFI register set
421421
*/
422422
static u32
423-
megasas_read_fw_status_reg_xscale(struct megasas_register_set __iomem * regs)
423+
megasas_read_fw_status_reg_xscale(struct megasas_instance *instance)
424424
{
425-
return readl(&(regs)->outbound_msg_0);
425+
return readl(&instance->reg_set->outbound_msg_0);
426426
}
427427
/**
428428
* megasas_clear_interrupt_xscale - Check & clear interrupt
429429
* @regs: MFI register set
430430
*/
431431
static int
432-
megasas_clear_intr_xscale(struct megasas_register_set __iomem * regs)
432+
megasas_clear_intr_xscale(struct megasas_instance *instance)
433433
{
434434
u32 status;
435435
u32 mfiStatus = 0;
436+
struct megasas_register_set __iomem *regs;
437+
regs = instance->reg_set;
436438

437439
/*
438440
* Check if it is our interrupt
@@ -597,19 +599,21 @@ megasas_disable_intr_ppc(struct megasas_instance *instance)
597599
* @regs: MFI register set
598600
*/
599601
static u32
600-
megasas_read_fw_status_reg_ppc(struct megasas_register_set __iomem * regs)
602+
megasas_read_fw_status_reg_ppc(struct megasas_instance *instance)
601603
{
602-
return readl(&(regs)->outbound_scratch_pad_0);
604+
return readl(&instance->reg_set->outbound_scratch_pad_0);
603605
}
604606

605607
/**
606608
* megasas_clear_interrupt_ppc - Check & clear interrupt
607609
* @regs: MFI register set
608610
*/
609611
static int
610-
megasas_clear_intr_ppc(struct megasas_register_set __iomem * regs)
612+
megasas_clear_intr_ppc(struct megasas_instance *instance)
611613
{
612614
u32 status, mfiStatus = 0;
615+
struct megasas_register_set __iomem *regs;
616+
regs = instance->reg_set;
613617

614618
/*
615619
* Check if it is our interrupt
@@ -722,20 +726,22 @@ megasas_disable_intr_skinny(struct megasas_instance *instance)
722726
* @regs: MFI register set
723727
*/
724728
static u32
725-
megasas_read_fw_status_reg_skinny(struct megasas_register_set __iomem *regs)
729+
megasas_read_fw_status_reg_skinny(struct megasas_instance *instance)
726730
{
727-
return readl(&(regs)->outbound_scratch_pad_0);
731+
return readl(&instance->reg_set->outbound_scratch_pad_0);
728732
}
729733

730734
/**
731735
* megasas_clear_interrupt_skinny - Check & clear interrupt
732736
* @regs: MFI register set
733737
*/
734738
static int
735-
megasas_clear_intr_skinny(struct megasas_register_set __iomem *regs)
739+
megasas_clear_intr_skinny(struct megasas_instance *instance)
736740
{
737741
u32 status;
738742
u32 mfiStatus = 0;
743+
struct megasas_register_set __iomem *regs;
744+
regs = instance->reg_set;
739745

740746
/*
741747
* Check if it is our interrupt
@@ -749,7 +755,7 @@ megasas_clear_intr_skinny(struct megasas_register_set __iomem *regs)
749755
/*
750756
* Check if it is our interrupt
751757
*/
752-
if ((megasas_read_fw_status_reg_skinny(regs) & MFI_STATE_MASK) ==
758+
if ((megasas_read_fw_status_reg_skinny(instance) & MFI_STATE_MASK) ==
753759
MFI_STATE_FAULT) {
754760
mfiStatus = MFI_INTR_FLAG_FIRMWARE_STATE_CHANGE;
755761
} else
@@ -867,20 +873,22 @@ megasas_disable_intr_gen2(struct megasas_instance *instance)
867873
* @regs: MFI register set
868874
*/
869875
static u32
870-
megasas_read_fw_status_reg_gen2(struct megasas_register_set __iomem *regs)
876+
megasas_read_fw_status_reg_gen2(struct megasas_instance *instance)
871877
{
872-
return readl(&(regs)->outbound_scratch_pad_0);
878+
return readl(&instance->reg_set->outbound_scratch_pad_0);
873879
}
874880

875881
/**
876882
* megasas_clear_interrupt_gen2 - Check & clear interrupt
877883
* @regs: MFI register set
878884
*/
879885
static int
880-
megasas_clear_intr_gen2(struct megasas_register_set __iomem *regs)
886+
megasas_clear_intr_gen2(struct megasas_instance *instance)
881887
{
882888
u32 status;
883889
u32 mfiStatus = 0;
890+
struct megasas_register_set __iomem *regs;
891+
regs = instance->reg_set;
884892

885893
/*
886894
* Check if it is our interrupt
@@ -2685,7 +2693,7 @@ static int megasas_wait_for_outstanding(struct megasas_instance *instance)
26852693

26862694
i = 0;
26872695
outstanding = atomic_read(&instance->fw_outstanding);
2688-
fw_state = instance->instancet->read_fw_status_reg(instance->reg_set) & MFI_STATE_MASK;
2696+
fw_state = instance->instancet->read_fw_status_reg(instance) & MFI_STATE_MASK;
26892697

26902698
if ((!outstanding && (fw_state == MFI_STATE_OPERATIONAL)))
26912699
goto no_outstanding;
@@ -2714,7 +2722,7 @@ static int megasas_wait_for_outstanding(struct megasas_instance *instance)
27142722

27152723
outstanding = atomic_read(&instance->fw_outstanding);
27162724

2717-
fw_state = instance->instancet->read_fw_status_reg(instance->reg_set) & MFI_STATE_MASK;
2725+
fw_state = instance->instancet->read_fw_status_reg(instance) & MFI_STATE_MASK;
27182726
if ((!outstanding && (fw_state == MFI_STATE_OPERATIONAL)))
27192727
goto no_outstanding;
27202728
}
@@ -3668,9 +3676,8 @@ megasas_deplete_reply_queue(struct megasas_instance *instance,
36683676
return IRQ_HANDLED;
36693677
}
36703678

3671-
if ((mfiStatus = instance->instancet->clear_intr(
3672-
instance->reg_set)
3673-
) == 0) {
3679+
mfiStatus = instance->instancet->clear_intr(instance);
3680+
if (mfiStatus == 0) {
36743681
/* Hardware may not set outbound_intr_status in MSI-X mode */
36753682
if (!instance->msix_vectors)
36763683
return IRQ_NONE;
@@ -3680,7 +3687,7 @@ megasas_deplete_reply_queue(struct megasas_instance *instance,
36803687

36813688
if ((mfiStatus & MFI_INTR_FLAG_FIRMWARE_STATE_CHANGE)) {
36823689
fw_state = instance->instancet->read_fw_status_reg(
3683-
instance->reg_set) & MFI_STATE_MASK;
3690+
instance) & MFI_STATE_MASK;
36843691

36853692
if (fw_state != MFI_STATE_FAULT) {
36863693
dev_notice(&instance->pdev->dev, "fw state:%x\n",
@@ -3763,7 +3770,7 @@ megasas_transition_to_ready(struct megasas_instance *instance, int ocr)
37633770
u32 cur_state;
37643771
u32 abs_state, curr_abs_state;
37653772

3766-
abs_state = instance->instancet->read_fw_status_reg(instance->reg_set);
3773+
abs_state = instance->instancet->read_fw_status_reg(instance);
37673774
fw_state = abs_state & MFI_STATE_MASK;
37683775

37693776
if (fw_state != MFI_STATE_READY)
@@ -3896,7 +3903,7 @@ megasas_transition_to_ready(struct megasas_instance *instance, int ocr)
38963903
*/
38973904
for (i = 0; i < max_wait; i++) {
38983905
curr_abs_state = instance->instancet->
3899-
read_fw_status_reg(instance->reg_set);
3906+
read_fw_status_reg(instance);
39003907

39013908
if (abs_state == curr_abs_state) {
39023909
msleep(1000);
@@ -5032,24 +5039,21 @@ megasas_issue_init_mfi(struct megasas_instance *instance)
50325039
static u32
50335040
megasas_init_adapter_mfi(struct megasas_instance *instance)
50345041
{
5035-
struct megasas_register_set __iomem *reg_set;
50365042
u32 context_sz;
50375043
u32 reply_q_sz;
50385044

5039-
reg_set = instance->reg_set;
5040-
50415045
/*
50425046
* Get various operational parameters from status register
50435047
*/
5044-
instance->max_fw_cmds = instance->instancet->read_fw_status_reg(reg_set) & 0x00FFFF;
5048+
instance->max_fw_cmds = instance->instancet->read_fw_status_reg(instance) & 0x00FFFF;
50455049
/*
50465050
* Reduce the max supported cmds by 1. This is to ensure that the
50475051
* reply_q_sz (1 more than the max cmd that driver may send)
50485052
* does not exceed max cmds that the FW can support
50495053
*/
50505054
instance->max_fw_cmds = instance->max_fw_cmds-1;
50515055
instance->max_mfi_cmds = instance->max_fw_cmds;
5052-
instance->max_num_sge = (instance->instancet->read_fw_status_reg(reg_set) & 0xFF0000) >>
5056+
instance->max_num_sge = (instance->instancet->read_fw_status_reg(instance) & 0xFF0000) >>
50535057
0x10;
50545058
/*
50555059
* For MFI skinny adapters, MEGASAS_SKINNY_INT_CMDS commands
@@ -5105,7 +5109,7 @@ megasas_init_adapter_mfi(struct megasas_instance *instance)
51055109

51065110
instance->fw_support_ieee = 0;
51075111
instance->fw_support_ieee =
5108-
(instance->instancet->read_fw_status_reg(reg_set) &
5112+
(instance->instancet->read_fw_status_reg(instance) &
51095113
0x04000000);
51105114

51115115
dev_notice(&instance->pdev->dev, "megasas_init_mfi: fw_support_ieee=%d",
@@ -5305,7 +5309,6 @@ static int megasas_init_fw(struct megasas_instance *instance)
53055309
u32 max_sectors_2, tmp_sectors, msix_enable;
53065310
u32 scratch_pad_1, scratch_pad_2, scratch_pad_3, status_reg;
53075311
resource_size_t base_addr;
5308-
struct megasas_register_set __iomem *reg_set;
53095312
struct megasas_ctrl_info *ctrl_info = NULL;
53105313
unsigned long bar_list;
53115314
int i, j, loop, fw_msix_count = 0;
@@ -5332,8 +5335,6 @@ static int megasas_init_fw(struct megasas_instance *instance)
53325335
goto fail_ioremap;
53335336
}
53345337

5335-
reg_set = instance->reg_set;
5336-
53375338
if (instance->adapter_type != MFI_SERIES)
53385339
instance->instancet = &megasas_instance_template_fusion;
53395340
else {
@@ -5362,7 +5363,7 @@ static int megasas_init_fw(struct megasas_instance *instance)
53625363
if (megasas_transition_to_ready(instance, 0)) {
53635364
if (instance->adapter_type >= INVADER_SERIES) {
53645365
status_reg = instance->instancet->read_fw_status_reg(
5365-
instance->reg_set);
5366+
instance);
53665367
do_adp_reset = status_reg & MFI_RESET_ADAPTER;
53675368
}
53685369

@@ -5407,7 +5408,7 @@ static int megasas_init_fw(struct megasas_instance *instance)
54075408
}
54085409

54095410
/* Check if MSI-X is supported while in ready state */
5410-
msix_enable = (instance->instancet->read_fw_status_reg(reg_set) &
5411+
msix_enable = (instance->instancet->read_fw_status_reg(instance) &
54115412
0x4000000) >> 0x1a;
54125413
if (msix_enable && !msix_disable) {
54135414
int irq_flags = PCI_IRQ_MSIX;

0 commit comments

Comments
 (0)