All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jack Wang <xjtuwjp@gmail.com>
To: Anand <anandkumar_santhanam@pmc-sierra.com>
Cc: linux-scsi@vger.kernel.org, Viswas.G@pmcs.com,
	Sangeetha.Gnanasekaran@pmcs.com, Nikith.Ganigarakoppal@pmcs.com
Subject: Re: [PATCH 2/5] pm80xx: IButton feature support and Indirect SMP fix.
Date: Mon, 16 Sep 2013 18:04:32 +0200	[thread overview]
Message-ID: <52372C10.3000304@gmail.com> (raw)
In-Reply-To: <5237298E.5050701@pmc-sierra.com>

On 09/16/2013 05:53 PM, Anand wrote:
> From db345f70bef0b07655d887f2d0398faf666f4a48 Mon Sep 17 00:00:00 2001
> From: Anand Kumar Santhanam <AnandKumar.Santhanam@pmcs.com>
> Date: Tue, 3 Sep 2013 15:21:29 +0530
> Subject: [PATCH 2/5] pm80xx: IButton feature support and Indirect SMP fix.
> 
> IButton security feature support for motherboard controllers.
> Fix for indirect data transfer mode in case of SMP request.
> 
You'd better split this into two patches for bisect-able.

Jack

> Signed-off-by: Anandkumar.Santhanam@pmcs.com
> 
> ---
>  drivers/scsi/pm8001/pm80xx_hwi.c |   26 ++++++++++++++++++++++----
>  1 files changed, 22 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/scsi/pm8001/pm80xx_hwi.c b/drivers/scsi/pm8001/pm80xx_hwi.c
> index be0b394..158e91d 100644
> --- a/drivers/scsi/pm8001/pm80xx_hwi.c
> +++ b/drivers/scsi/pm8001/pm80xx_hwi.c
> @@ -967,6 +967,7 @@ pm80xx_chip_soft_rst(struct pm8001_hba_info *pm8001_ha)
>  {
>  	u32 regval;
>  	u32 bootloader_state;
> +	u32 ibutton0, ibutton1;
>  
>  	/* Check if MPI is in ready state to reset */
>  	if (mpi_uninit_check(pm8001_ha) != 0) {
> @@ -1025,7 +1026,26 @@ pm80xx_chip_soft_rst(struct pm8001_hba_info *pm8001_ha)
>  	if (-1 == check_fw_ready(pm8001_ha)) {
>  		PM8001_FAIL_DBG(pm8001_ha,
>  			pm8001_printk("Firmware is not ready!\n"));
> -		return -EBUSY;
> +		/* check iButton feature support for motherboard controller */
> +		if (pm8001_ha->pdev->subsystem_vendor !=
> +			PCI_VENDOR_ID_ADAPTEC2) {
> +			ibutton0 = pm8001_cr32(pm8001_ha, 0,
> +					MSGU_HOST_SCRATCH_PAD_6);
> +			ibutton1 = pm8001_cr32(pm8001_ha, 0,
> +					MSGU_HOST_SCRATCH_PAD_7);
> +			if (!ibutton0 && !ibutton1) {
> +				PM8001_FAIL_DBG(pm8001_ha,
> +					pm8001_printk("iButton Feature is"
> +					" not Available!!!\n"));
> +				return -EBUSY;
> +			}
> +			if (ibutton0 == 0xdeadbeef && ibutton1 == 0xdeadbeef) {
> +				PM8001_FAIL_DBG(pm8001_ha,
> +					pm8001_printk("CRC Check for iButton"
> +					" Feature Failed!!!\n"));
> +				return -EBUSY;
> +			}
> +		}
>  	}
>  	PM8001_INIT_DBG(pm8001_ha,
>  		pm8001_printk("SPCv soft reset Complete\n"));
> @@ -3492,8 +3512,6 @@ static int pm80xx_chip_smp_req(struct pm8001_hba_info *pm8001_ha,
>  	else
>  		pm8001_ha->smp_exp_mode = SMP_INDIRECT;
>  
> -	/* DIRECT MODE support only in spcv/ve */
> -	pm8001_ha->smp_exp_mode = SMP_DIRECT;
>  
>  	tmp_addr = cpu_to_le64((u64)sg_dma_address(&task->smp_task.smp_req));
>  	preq_dma_addr = (char *)phys_to_virt(tmp_addr);
> @@ -3509,7 +3527,7 @@ static int pm80xx_chip_smp_req(struct pm8001_hba_info *pm8001_ha,
>  		/* exclude top 4 bytes for SMP req header */
>  		smp_cmd.long_smp_req.long_req_addr =
>  			cpu_to_le64((u64)sg_dma_address
> -				(&task->smp_task.smp_req) - 4);
> +				(&task->smp_task.smp_req) + 4);
>  		/* exclude 4 bytes for SMP req header and CRC */
>  		smp_cmd.long_smp_req.long_req_size =
>  			cpu_to_le32((u32)sg_dma_len(&task->smp_task.smp_req)-8);
> 


      reply	other threads:[~2013-09-16 16:03 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-09-16 15:53 [PATCH 2/5] pm80xx: IButton feature support and Indirect SMP fix Anand
2013-09-16 16:04 ` Jack Wang [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=52372C10.3000304@gmail.com \
    --to=xjtuwjp@gmail.com \
    --cc=Nikith.Ganigarakoppal@pmcs.com \
    --cc=Sangeetha.Gnanasekaran@pmcs.com \
    --cc=Viswas.G@pmcs.com \
    --cc=anandkumar_santhanam@pmc-sierra.com \
    --cc=linux-scsi@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.