From: Damien Le Moal <damien.lemoal@opensource.wdc.com>
To: Christoph Hellwig <hch@infradead.org>
Cc: linux-scsi@vger.kernel.org,
"Martin K . Petersen" <martin.petersen@oracle.com>,
John Garry <john.garry@huawei.com>,
Xiang Chen <chenxiang66@hisilicon.com>,
Jason Yan <yanaijie@huawei.com>,
Luo Jiaxing <luojiaxing@huawei.com>
Subject: Re: [PATCH 04/20] scsi: pm8001: fix __iomem pointer use in pm8001_phy_control()
Date: Fri, 11 Feb 2022 16:03:41 +0900 [thread overview]
Message-ID: <33abcc95-5e91-88eb-ba70-358e051aeb82@opensource.wdc.com> (raw)
In-Reply-To: <YgX+Cdjeok1ClSVo@infradead.org>
On 2/11/22 15:11, Christoph Hellwig wrote:
> On Thu, Feb 10, 2022 at 08:42:02PM +0900, Damien Le Moal wrote:
>> struct sas_phy *phy = sas_phy->phy;
>> - uint32_t *qp = (uint32_t *)(((char *)
>> - pm8001_ha->io_mem[2].memvirtaddr)
>> - + 0x1034 + (0x4000 * (phy_id & 3)));
>> + unsigned long vaddr = (unsigned long)
>> + pm8001_ha->io_mem[2].memvirtaddr;
>> + uint32_t *qp = (uint32_t *)
>> + (vaddr + 0x1034 + (0x4000 * (phy_id & 3)));
>
> This just removes the warning, but does not actually fix the issue.
> Both long_vaddr and qp need to be __iomem pointers...
>
>>
>> phy->invalid_dword_count = qp[0];
>> phy->running_disparity_error_count = qp[1];
>
> ... and reads from qp need to use readl.
OK. About to send a v2 with more fixes. Will rework this one and patch 8
too.
--
Damien Le Moal
Western Digital Research
next prev parent reply other threads:[~2022-02-11 7:03 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-02-10 11:41 [PATCH 00/20] libsas and pm8001 fixes Damien Le Moal
2022-02-10 11:41 ` [PATCH 01/20] scsi: libsas: fix sas_ata_qc_issue() handling of NCQ NON DATA commands Damien Le Moal
2022-02-10 11:42 ` [PATCH 02/20] scsi: libsas: simplify sas_ata_qc_issue() detection of NCQ commands Damien Le Moal
2022-02-10 11:42 ` [PATCH 03/20] scsi: libsas: Remove unnecessary initialization in sas_ata_qc_issue() Damien Le Moal
2022-02-10 11:48 ` John Garry
2022-02-10 11:42 ` [PATCH 04/20] scsi: pm8001: fix __iomem pointer use in pm8001_phy_control() Damien Le Moal
2022-02-11 6:11 ` Christoph Hellwig
2022-02-11 7:03 ` Damien Le Moal [this message]
2022-02-10 11:42 ` [PATCH 05/20] scsi: pm8001: Remove local variable in pm8001_pci_resume() Damien Le Moal
2022-02-10 12:04 ` John Garry
2022-02-10 12:13 ` Damien Le Moal
2022-02-10 11:42 ` [PATCH 06/20] scsi: pm8001: Fix pm8001_update_flash() local variable type Damien Le Moal
2022-02-10 11:42 ` [PATCH 07/20] scsi: pm8001: Fix command initialization in pm80XX_send_read_log() Damien Le Moal
2022-02-10 14:32 ` John Garry
2022-02-10 11:42 ` [PATCH 08/20] scsi: pm8001: Fix local variable declaration in pm80xx_pci_mem_copy() Damien Le Moal
2022-02-10 14:42 ` John Garry
2022-02-11 6:14 ` Christoph Hellwig
2022-02-11 7:18 ` Damien Le Moal
2022-02-10 11:42 ` [PATCH 09/20] scsi: pm8001: Fix command initialization in pm8001_chip_ssp_tm_req() Damien Le Moal
2022-02-10 11:42 ` [PATCH 10/20] scsi: pm8001: fix payload initialization in pm80xx_set_thermal_config() Damien Le Moal
2022-02-10 14:43 ` John Garry
2022-02-10 11:42 ` [PATCH 11/20] scsi: pm8001: fix le32 values handling in pm80xx_set_sas_protocol_timer_config() Damien Le Moal
2022-02-10 11:42 ` [PATCH 12/20] scsi: pm8001: fix payload initialization in pm80xx_encrypt_update() Damien Le Moal
2022-02-10 11:42 ` [PATCH 13/20] scsi: pm8001: fix le32 values handling in pm80xx_chip_ssp_io_req() Damien Le Moal
2022-02-10 11:42 ` [PATCH 14/20] scsi: pm8001: fix le32 values handling in pm80xx_chip_sata_req() Damien Le Moal
2022-02-10 11:42 ` [PATCH 15/20] scsi: pm8001: fix use of struct set_phy_profile_req fields Damien Le Moal
2022-02-10 11:42 ` [PATCH 16/20] scsi: pm8001: simplify pm8001_get_ncq_tag() Damien Le Moal
2022-02-10 14:50 ` John Garry
2022-02-10 11:42 ` [PATCH 17/20] scsi: pm8001: fix NCQ NON DATA command task initialization Damien Le Moal
2022-02-10 11:42 ` [PATCH 18/20] scsi: pm8001: fix NCQ NON DATA command completion handling Damien Le Moal
2022-02-10 11:42 ` [PATCH 19/20] scsi: pm8001: cleanup pm8001_queue_command() Damien Le Moal
2022-02-10 14:53 ` John Garry
2022-02-10 11:42 ` [PATCH 20/20] scsi: pm8001: fix abort all task initialization Damien Le Moal
2022-02-10 14:28 ` John Garry
2022-02-10 22:43 ` Damien Le Moal
2022-02-10 15:35 ` [PATCH 00/20] libsas and pm8001 fixes John Garry
2022-02-10 22:44 ` Damien Le Moal
2022-02-11 9:24 ` John Garry
2022-02-11 12:37 ` Damien Le Moal
2022-02-11 13:08 ` John Garry
2022-02-11 13:14 ` Damien Le Moal
2022-02-11 13:54 ` John Garry
2022-02-12 6:19 ` 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=33abcc95-5e91-88eb-ba70-358e051aeb82@opensource.wdc.com \
--to=damien.lemoal@opensource.wdc.com \
--cc=chenxiang66@hisilicon.com \
--cc=hch@infradead.org \
--cc=john.garry@huawei.com \
--cc=linux-scsi@vger.kernel.org \
--cc=luojiaxing@huawei.com \
--cc=martin.petersen@oracle.com \
--cc=yanaijie@huawei.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