From: Tyrel Datwyler <tyreld@linux.ibm.com>
To: Brian King <brking@linux.vnet.ibm.com>,
james.bottomley@hansenpartnership.com
Cc: brking@linux.ibm.com, linuxppc-dev@lists.ozlabs.org,
linux-scsi@vger.kernel.org, martin.petersen@oracle.com,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2 04/17] ibmvfc: add alloc/dealloc routines for SCSI Sub-CRQ Channels
Date: Wed, 2 Dec 2020 14:23:49 -0800 [thread overview]
Message-ID: <6f9dc1e8-76fe-0251-3e43-edf7da93eb82@linux.ibm.com> (raw)
In-Reply-To: <f0b848d3-0a39-dd95-e4a2-b303c12ed0dd@linux.vnet.ibm.com>
On 12/2/20 7:25 AM, Brian King wrote:
> On 12/1/20 6:53 PM, Tyrel Datwyler wrote:
>> +static int ibmvfc_register_scsi_channel(struct ibmvfc_host *vhost,
>> + int index)
>> +{
>> + struct device *dev = vhost->dev;
>> + struct vio_dev *vdev = to_vio_dev(dev);
>> + struct ibmvfc_sub_queue *scrq = &vhost->scsi_scrqs.scrqs[index];
>> + int rc = -ENOMEM;
>> +
>> + ENTER;
>> +
>> + scrq->msgs = (struct ibmvfc_sub_crq *)get_zeroed_page(GFP_KERNEL);
>> + if (!scrq->msgs)
>> + return rc;
>> +
>> + scrq->size = PAGE_SIZE / sizeof(*scrq->msgs);
>> + scrq->msg_token = dma_map_single(dev, scrq->msgs, PAGE_SIZE,
>> + DMA_BIDIRECTIONAL);
>> +
>> + if (dma_mapping_error(dev, scrq->msg_token))
>> + goto dma_map_failed;
>> +
>> + rc = h_reg_sub_crq(vdev->unit_address, scrq->msg_token, PAGE_SIZE,
>> + &scrq->cookie, &scrq->hw_irq);
>> +
>> + if (rc) {
>> + dev_warn(dev, "Error registering sub-crq: %d\n", rc);
>> + dev_warn(dev, "Firmware may not support MQ\n");
>
> Will this now get logged everywhere this new driver runs if the firmware
> does not support sub CRQs? Is there something better that could be done
> here to only log this for a true error and not just because a new driver
> is running with an older firmware release?
I suppose we can guess if the rc is H_PARAMETER that sub-crqs are probably not
supported and do a dev_warn_once() for the no MQ support message. H_PARAMETER
could mean other things though so we still need to log the failure in my opinion.
-Tyrel
>
>> + goto reg_failed;
>> + }
>> +
>> + scrq->hwq_id = index;
>> + scrq->vhost = vhost;
>> +
>> + LEAVE;
>> + return 0;
>> +
>> +reg_failed:
>> + dma_unmap_single(dev, scrq->msg_token, PAGE_SIZE, DMA_BIDIRECTIONAL);
>> +dma_map_failed:
>> + free_page((unsigned long)scrq->msgs);
>> + LEAVE;
>> + return rc;
>> +}
>> +
>
>
>
next prev parent reply other threads:[~2020-12-02 22:25 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-12-02 0:53 [PATCH v2 00/17] ibmvfc: initial MQ development Tyrel Datwyler
2020-12-02 0:53 ` [PATCH v2 01/17] ibmvfc: add vhost fields and defaults for MQ enablement Tyrel Datwyler
2020-12-02 15:14 ` Brian King
2020-12-02 17:27 ` Tyrel Datwyler
2020-12-04 14:26 ` Brian King
2020-12-07 11:56 ` Hannes Reinecke
2020-12-08 22:37 ` Tyrel Datwyler
2020-12-17 11:49 ` John Garry
2020-12-02 0:53 ` [PATCH v2 02/17] ibmvfc: define hcall wrapper for registering a Sub-CRQ Tyrel Datwyler
2020-12-02 0:53 ` [PATCH v2 03/17] ibmvfc: add Subordinate CRQ definitions Tyrel Datwyler
2020-12-02 0:53 ` [PATCH v2 04/17] ibmvfc: add alloc/dealloc routines for SCSI Sub-CRQ Channels Tyrel Datwyler
2020-12-02 15:25 ` Brian King
2020-12-02 22:23 ` Tyrel Datwyler [this message]
2020-12-02 0:53 ` [PATCH v2 05/17] ibmvfc: add Sub-CRQ IRQ enable/disable routine Tyrel Datwyler
2020-12-02 0:53 ` [PATCH v2 06/17] ibmvfc: add handlers to drain and complete Sub-CRQ responses Tyrel Datwyler
2020-12-02 15:46 ` Brian King
2020-12-02 22:28 ` Tyrel Datwyler
2020-12-02 15:56 ` Brian King
2020-12-02 0:53 ` [PATCH v2 07/17] ibmvfc: define Sub-CRQ interrupt handler routine Tyrel Datwyler
2020-12-02 0:53 ` [PATCH v2 08/17] ibmvfc: map/request irq and register Sub-CRQ interrupt handler Tyrel Datwyler
2020-12-02 0:53 ` [PATCH v2 09/17] ibmvfc: implement channel enquiry and setup commands Tyrel Datwyler
2020-12-02 15:51 ` Brian King
2020-12-02 0:53 ` [PATCH v2 10/17] ibmvfc: advertise client support for using hardware channels Tyrel Datwyler
2020-12-02 0:53 ` [PATCH v2 11/17] ibmvfc: set and track hw queue in ibmvfc_event struct Tyrel Datwyler
2020-12-02 0:53 ` [PATCH v2 12/17] ibmvfc: send commands down HW Sub-CRQ when channelized Tyrel Datwyler
2020-12-02 0:53 ` [PATCH v2 13/17] ibmvfc: register Sub-CRQ handles with VIOS during channel setup Tyrel Datwyler
2020-12-02 0:53 ` [PATCH v2 14/17] ibmvfc: add cancel mad initialization helper Tyrel Datwyler
2020-12-02 16:00 ` Brian King
2020-12-02 0:53 ` [PATCH v2 15/17] ibmvfc: send Cancel MAD down each hw scsi channel Tyrel Datwyler
2020-12-02 18:27 ` Brian King
2020-12-02 22:09 ` Tyrel Datwyler
2020-12-02 0:53 ` [PATCH v2 16/17] ibmvfc: enable MQ and set reasonable defaults Tyrel Datwyler
2020-12-02 18:31 ` Brian King
2020-12-02 0:53 ` [PATCH v2 17/17] ibmvfc: provide modules parameters for MQ settings Tyrel Datwyler
2020-12-02 18:40 ` Brian King
2020-12-02 22:17 ` Tyrel Datwyler
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=6f9dc1e8-76fe-0251-3e43-edf7da93eb82@linux.ibm.com \
--to=tyreld@linux.ibm.com \
--cc=brking@linux.ibm.com \
--cc=brking@linux.vnet.ibm.com \
--cc=james.bottomley@hansenpartnership.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-scsi@vger.kernel.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=martin.petersen@oracle.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).