lkml.org 
[lkml]   [2017]   [Mar]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.10 166/167] scsi: lpfc: Correct WQ creation for pagesize
    Date
    4.10-stable review patch.  If anyone has any objections, please let me know.

    ------------------

    From: James Smart <jsmart2021@gmail.com>

    commit 8ea73db486cda442f0671f4bc9c03a76be398a28 upstream.

    Correct WQ creation for pagesize

    The driver was calculating the adapter command pagesize indicator from
    the system pagesize. However, the buffers the driver allocates are only
    one size (SLI4_PAGE_SIZE), so no calculation was necessary.

    Signed-off-by: Dick Kennedy <dick.kennedy@broadcom.com>
    Signed-off-by: James Smart <james.smart@broadcom.com>
    Reviewed-by: Hannes Reinecke <hare@suse.com>
    Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de>
    Reviewed-by: Christoph Hellwig <hch@lst.de>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    Cc: Mauricio Faria de Oliveira <mauricfo@linux.vnet.ibm.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    drivers/scsi/lpfc/lpfc_hw4.h | 2 ++
    drivers/scsi/lpfc/lpfc_sli.c | 9 +++++----
    2 files changed, 7 insertions(+), 4 deletions(-)

    --- a/drivers/scsi/lpfc/lpfc_hw4.h
    +++ b/drivers/scsi/lpfc/lpfc_hw4.h
    @@ -1186,6 +1186,7 @@ struct lpfc_mbx_wq_create {
    #define lpfc_mbx_wq_create_page_size_SHIFT 0
    #define lpfc_mbx_wq_create_page_size_MASK 0x000000FF
    #define lpfc_mbx_wq_create_page_size_WORD word1
    +#define LPFC_WQ_PAGE_SIZE_4096 0x1
    #define lpfc_mbx_wq_create_wqe_size_SHIFT 8
    #define lpfc_mbx_wq_create_wqe_size_MASK 0x0000000F
    #define lpfc_mbx_wq_create_wqe_size_WORD word1
    @@ -1257,6 +1258,7 @@ struct rq_context {
    #define lpfc_rq_context_page_size_SHIFT 0 /* Version 1 Only */
    #define lpfc_rq_context_page_size_MASK 0x000000FF
    #define lpfc_rq_context_page_size_WORD word0
    +#define LPFC_RQ_PAGE_SIZE_4096 0x1
    uint32_t reserved1;
    uint32_t word2;
    #define lpfc_rq_context_cq_id_SHIFT 16
    --- a/drivers/scsi/lpfc/lpfc_sli.c
    +++ b/drivers/scsi/lpfc/lpfc_sli.c
    @@ -13718,7 +13718,7 @@ lpfc_wq_create(struct lpfc_hba *phba, st
    LPFC_WQ_WQE_SIZE_128);
    bf_set(lpfc_mbx_wq_create_page_size,
    &wq_create->u.request_1,
    - (PAGE_SIZE/SLI4_PAGE_SIZE));
    + LPFC_WQ_PAGE_SIZE_4096);
    page = wq_create->u.request_1.page;
    break;
    }
    @@ -13744,8 +13744,9 @@ lpfc_wq_create(struct lpfc_hba *phba, st
    LPFC_WQ_WQE_SIZE_128);
    break;
    }
    - bf_set(lpfc_mbx_wq_create_page_size, &wq_create->u.request_1,
    - (PAGE_SIZE/SLI4_PAGE_SIZE));
    + bf_set(lpfc_mbx_wq_create_page_size,
    + &wq_create->u.request_1,
    + LPFC_WQ_PAGE_SIZE_4096);
    page = wq_create->u.request_1.page;
    break;
    default:
    @@ -13931,7 +13932,7 @@ lpfc_rq_create(struct lpfc_hba *phba, st
    LPFC_RQE_SIZE_8);
    bf_set(lpfc_rq_context_page_size,
    &rq_create->u.request.context,
    - (PAGE_SIZE/SLI4_PAGE_SIZE));
    + LPFC_RQ_PAGE_SIZE_4096);
    } else {
    switch (hrq->entry_count) {
    default:

    \
     
     \ /
      Last update: 2017-03-10 10:41    [W:2.698 / U:0.552 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site