Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c05e8866 authored by Stephen Cameron's avatar Stephen Cameron Committed by James Bottomley
Browse files

hpsa: do not use function pointers in fast path command submission



Performance tweak, avoid unnecessary function calls.

Reviewed-by: default avatarScott Teel <scott.teel@pmcs.com>
Signed-off-by: default avatarDon Brace <don.brace@pmcs.com>
Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
parent f42e81e1
Loading
Loading
Loading
Loading
+5 −3
Original line number Diff line number Diff line
@@ -821,20 +821,22 @@ static void dial_up_lockup_detection_on_fw_flash_complete(struct ctlr_info *h,
static void enqueue_cmd_and_start_io(struct ctlr_info *h,
	struct CommandList *c)
{
	dial_down_lockup_detection_during_fw_flash(h, c);
	atomic_inc(&h->commands_outstanding);
	switch (c->cmd_type) {
	case CMD_IOACCEL1:
		set_ioaccel1_performant_mode(h, c);
		writel(c->busaddr, h->vaddr + SA5_REQUEST_PORT_OFFSET);
		break;
	case CMD_IOACCEL2:
		set_ioaccel2_performant_mode(h, c);
		writel(c->busaddr, h->vaddr + IOACCEL2_INBOUND_POSTQ_32);
		break;
	default:
		set_performant_mode(h, c);
	}
	dial_down_lockup_detection_during_fw_flash(h, c);
	atomic_inc(&h->commands_outstanding);
		h->access.submit_command(h, c);
	}
}

static inline int is_hba_lunid(unsigned char scsi3addr[])
{
+1 −4
Original line number Diff line number Diff line
@@ -367,9 +367,6 @@ static void SA5_submit_command_no_read(struct ctlr_info *h,
static void SA5_submit_command_ioaccel2(struct ctlr_info *h,
	struct CommandList *c)
{
	if (c->cmd_type == CMD_IOACCEL2)
		writel(c->busaddr, h->vaddr + IOACCEL2_INBOUND_POSTQ_32);
	else
	writel(c->busaddr, h->vaddr + SA5_REQUEST_PORT_OFFSET);
}