From: Damien Le Moal <damien.lemoal@wdc.com> To: Jens Axboe <axboe@kernel.dk>, linux-block@vger.kernel.org, linux-ide@vger.kernel.org, "Martin K . Petersen" <martin.petersen@oracle.com>, linux-scsi@vger.kernel.org Cc: Sathya Prakash <sathya.prakash@broadcom.com>, Sreekanth Reddy <sreekanth.reddy@broadcom.com>, Suganath Prabu Subramani <suganath-prabu.subramani@broadcom.com> Subject: [PATCH v2 7/9] libata: print feature list on device scan Date: Fri, 6 Aug 2021 16:42:50 +0900 [thread overview] Message-ID: <20210806074252.398482-8-damien.lemoal@wdc.com> (raw) In-Reply-To: <20210806074252.398482-1-damien.lemoal@wdc.com> Print a list of features supported by a drive when it is configured in ata_dev_configure() using the new function ata_dev_print_features(). The features printed are not already advertized and are: trusted send-recev support, device attention support, device sleep support, NCQ send-recv support and NCQ priority support. Signed-off-by: Damien Le Moal <damien.lemoal@wdc.com> --- drivers/ata/libata-core.c | 17 +++++++++++++++++ include/linux/libata.h | 4 ++++ 2 files changed, 21 insertions(+) diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c index 3c213d125e95..cef6d516b4d8 100644 --- a/drivers/ata/libata-core.c +++ b/drivers/ata/libata-core.c @@ -2415,6 +2415,20 @@ static void ata_dev_config_devslp(struct ata_device *dev) } } +static void ata_dev_print_features(struct ata_device *dev) +{ + if (!(dev->flags & ATA_DFLAG_FEATURES_MASK)) + return; + + ata_dev_info(dev, + "Features:%s%s%s%s%s\n", + dev->flags & ATA_DFLAG_TRUSTED ? " Trust" : "", + dev->flags & ATA_DFLAG_DA ? " Dev-Attention" : "", + dev->flags & ATA_DFLAG_DEVSLP ? " Dev-Sleep" : "", + dev->flags & ATA_DFLAG_NCQ_SEND_RECV ? " NCQ-sndrcv" : "", + dev->flags & ATA_DFLAG_NCQ_PRIO ? " NCQ-prio" : ""); +} + /** * ata_dev_configure - Configure the specified ATA/ATAPI device * @dev: Target device to configure @@ -2584,6 +2598,9 @@ int ata_dev_configure(struct ata_device *dev) ata_dev_config_zac(dev); ata_dev_config_trusted(dev); dev->cdb_len = 32; + + if (ata_msg_drv(ap) && print_info) + ata_dev_print_features(dev); } /* ATAPI-specific feature tests */ diff --git a/include/linux/libata.h b/include/linux/libata.h index 3fcd24236793..b23f28cfc8e0 100644 --- a/include/linux/libata.h +++ b/include/linux/libata.h @@ -161,6 +161,10 @@ enum { ATA_DFLAG_D_SENSE = (1 << 29), /* Descriptor sense requested */ ATA_DFLAG_ZAC = (1 << 30), /* ZAC device */ + ATA_DFLAG_FEATURES_MASK = ATA_DFLAG_TRUSTED | ATA_DFLAG_DA | \ + ATA_DFLAG_DEVSLP | ATA_DFLAG_NCQ_SEND_RECV | \ + ATA_DFLAG_NCQ_PRIO, + ATA_DEV_UNKNOWN = 0, /* unknown device */ ATA_DEV_ATA = 1, /* ATA device */ ATA_DEV_ATA_UNSUP = 2, /* ATA device (unsupported) */ -- 2.31.1
next prev parent reply other threads:[~2021-08-06 7:43 UTC|newest] Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-08-06 7:42 [PATCH v2 0/9] libata cleanups and improvements Damien Le Moal 2021-08-06 7:42 ` [PATCH v2 1/9] libata: fix ata_host_alloc_pinfo() Damien Le Moal 2021-08-06 8:49 ` Hannes Reinecke 2021-08-06 14:25 ` James Bottomley 2021-08-06 14:31 ` Damien Le Moal 2021-08-06 7:42 ` [PATCH v2 2/9] libata: fix ata_host_start() Damien Le Moal 2021-08-06 8:50 ` Hannes Reinecke 2021-08-06 14:31 ` James Bottomley 2021-08-06 14:33 ` Damien Le Moal 2021-08-07 3:32 ` Damien Le Moal 2021-08-06 7:42 ` [PATCH v2 3/9] libata: cleanup device sleep capability detection Damien Le Moal 2021-08-06 8:50 ` Hannes Reinecke 2021-08-06 7:42 ` [PATCH v2 4/9] libata: cleanup ata_dev_configure() Damien Le Moal 2021-08-06 9:07 ` Hannes Reinecke 2021-08-06 9:12 ` Damien Le Moal 2021-08-06 9:28 ` Hannes Reinecke 2021-08-06 9:32 ` Damien Le Moal 2021-08-06 7:42 ` [PATCH v2 5/9] libata: cleanup NCQ priority handling Damien Le Moal 2021-08-06 9:09 ` Hannes Reinecke 2021-08-06 7:42 ` [PATCH v2 6/9] libata: fix ata_read_log_page() warning Damien Le Moal 2021-08-06 9:10 ` Hannes Reinecke 2021-08-06 7:42 ` Damien Le Moal [this message] 2021-08-06 9:11 ` [PATCH v2 7/9] libata: print feature list on device scan Hannes Reinecke 2021-08-06 7:42 ` [PATCH v2 8/9] libahci: Introduce ncq_prio_supported sysfs sttribute Damien Le Moal 2021-08-06 7:42 ` [PATCH v2 9/9] scsi: mpt3sas: Introduce sas_ncq_prio_supported " Damien Le Moal 2021-08-06 9:12 ` Hannes Reinecke 2021-08-06 9:16 ` Damien Le Moal
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=20210806074252.398482-8-damien.lemoal@wdc.com \ --to=damien.lemoal@wdc.com \ --cc=axboe@kernel.dk \ --cc=linux-block@vger.kernel.org \ --cc=linux-ide@vger.kernel.org \ --cc=linux-scsi@vger.kernel.org \ --cc=martin.petersen@oracle.com \ --cc=sathya.prakash@broadcom.com \ --cc=sreekanth.reddy@broadcom.com \ --cc=suganath-prabu.subramani@broadcom.com \ --subject='Re: [PATCH v2 7/9] libata: print feature list on device scan' \ /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
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).