lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <5357AE20.70808@linaro.org>
Date:	Wed, 23 Apr 2014 20:12:16 +0800
From:	"kefeng.wang" <kefeng.wang@...aro.org>
To:	Hans de Goede <hdegoede@...hat.com>, Tejun Heo <tj@...nel.org>,
	Maxime Ripard <maxime.ripard@...e-electrons.com>,
	linux-ide@...r.kernel.org, linux-kernel@...r.kernel.org
CC:	wangkefeng.wang@...wei.com
Subject: Re: [PATCH v4 2/3] libahci_platform: add host_flags parameter in
 ahci_platform_init_host()

On 2014-4-23 19:47, Hans de Goede wrote:
> Hi,
> 
> On 04/23/2014 01:36 PM, Kefeng Wang wrote:
>> Add a dynamic host flags argument to make ahci_platform_init_host more flexible,
>> then remove the AHCI_HFLAGS(...) argument from some driver's ata_port_info,
>> and pass that in as the new arguments.
>>
>> Cc: Hans de Geode <hdegoede@...hat.com>
>> Signed-off-by: Kefeng Wang <kefeng.wang@...aro.org>
> 
> Thanks for working on this, review comments inline.
> 
[...]
>> diff --git a/drivers/ata/ahci_xgene.c b/drivers/ata/ahci_xgene.c
>> index 77c89bf..8022b5a 100644
>> --- a/drivers/ata/ahci_xgene.c
>> +++ b/drivers/ata/ahci_xgene.c
>> @@ -382,6 +382,7 @@ static int xgene_ahci_probe(struct platform_device *pdev)
>>  	struct ahci_host_priv *hpriv;
>>  	struct xgene_ahci_context *ctx;
>>  	struct resource *res;
>> +	unsigned int hflags;
>>  	int rc;
>>  
>>  	hpriv = ahci_platform_get_resources(pdev);
>> @@ -450,7 +451,10 @@ static int xgene_ahci_probe(struct platform_device *pdev)
>>  		goto disable_resources;
>>  	}
>>  
>> -	rc = ahci_platform_init_host(pdev, hpriv, &xgene_ahci_port_info, 0, 0);
>> +	hflags = AHCI_HFLAG_NO_PMP | AHCI_HFLAG_YES_NCQ,
>> +
>> +	rc = ahci_platform_init_host(pdev, hpriv, &xgene_ahci_port_info,
>> +				     hflags, 0, 0);
>>  	if (rc)
>>  		goto disable_resources;
>>  
> 
> You should remove the AHCI_HFLAGS(AHCI_HFLAG_NO_PMP | AHCI_HFLAG_YES_NCQ),
> part from xgene_ahci_port_info here, like you do for ahci_sunxi.c

yes.

> 
>> diff --git a/drivers/ata/libahci_platform.c b/drivers/ata/libahci_platform.c
>> index 7cb3a85..ebd880e 100644
>> --- a/drivers/ata/libahci_platform.c
>> +++ b/drivers/ata/libahci_platform.c
>> @@ -283,6 +283,7 @@ EXPORT_SYMBOL_GPL(ahci_platform_get_resources);
>>   * @pdev: platform device pointer for the host
>>   * @hpriv: ahci-host private data for the host
>>   * @pi_template: template for the ata_port_info to use
>> + * @host_flags: ahci host flags used in ahci_host_priv
>>   * @force_port_map: param passed to ahci_save_initial_config
>>   * @mask_port_map: param passed to ahci_save_initial_config
>>   *
>> @@ -296,6 +297,7 @@ EXPORT_SYMBOL_GPL(ahci_platform_get_resources);
>>  int ahci_platform_init_host(struct platform_device *pdev,
>>  			    struct ahci_host_priv *hpriv,
>>  			    const struct ata_port_info *pi_template,
>> +			    unsigned int host_flags,
>>  			    unsigned int force_port_map,
>>  			    unsigned int mask_port_map)
>>  {
> 
> And here you should actually do something with hflags, not just throw
> them away. Something like:
> 
> pi.private_data = (void *)host_flags;

:( it's my mistake, will update, thanks for you reminder.

> 
>> diff --git a/include/linux/ahci_platform.h b/include/linux/ahci_platform.h
>> index 1f16d50..45897f6 100644
>> --- a/include/linux/ahci_platform.h
>> +++ b/include/linux/ahci_platform.h
>> @@ -44,6 +44,7 @@ struct ahci_host_priv *ahci_platform_get_resources(
>>  int ahci_platform_init_host(struct platform_device *pdev,
>>  			    struct ahci_host_priv *hpriv,
>>  			    const struct ata_port_info *pi_template,
>> +			    unsigned int host_flags,
>>  			    unsigned int force_port_map,
>>  			    unsigned int mask_port_map);
>>  
>>
> 
> Regards,
> 
> Hans
> 

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ