>From: Ferruh Yigit <ferruh.yi...@intel.com>
>Sent: Thursday, July 09, 2020 9:33 AM
>
>On 7/8/2020 11:50 PM, Rasesh Mody wrote:
>> Add support for .get_reg eth_dev ops which will be used to collect the
>> firmware debug data.
>>
>> PMD on detecting on some HW errors will collect the FW/HW Dump to a
>> buffer and then it will save it to a file implemented in
>> qede_save_fw_dump().
>>
>> Dump file location and name:
>> Location: <RTE_SDK> or DPDK root
>> Name: qede_pmd_dump_mm-dd-yy_hh-mm-ss.bin
>>
>> DPDK applications can initiate a debug data collection by invoking
>> DPDK library’s rte_eth_dev_get_reg_info() API. This API invokes
>> .get_reg() interface in the PMD.
>>
>> PMD implementation of .get_reg() collects the FW/HW Dump, saves it to
>> data field of rte_dev_reg_info and passes it to the application. It’s
>> the responsibility of the application to save the FW/HW Dump to a file.
>> We recommendation using the file name format used by
>qede_save_fw_dump().
>>
>> Signed-off-by: Rasesh Mody <rm...@marvell.com>
>> Signed-off-by: Igor Russkikh <irussk...@marvell.com>
>
><...>
>
>> +static int
>> +qede_write_fwdump(const char *dump_file, void *dump, size_t len) {
>> +    int err = 0;
>> +    FILE *f;
>> +    size_t bytes;
>> +
>> +    f = fopen(dump_file, "wb+");
>> +
>> +    if (!f) {
>> +            fprintf(stderr, "Can't open file %s: %s\n",
>> +                    dump_file, strerror(errno));
>> +            return 1;
>> +    }
>> +    bytes = fwrite(dump, 1, len, f);
>> +    if (bytes != len) {
>> +            fprintf(stderr, "Can not write all of dump data bytes=%ld
>len=%ld\n",
>> +                    bytes, len);
>
>Travis is giving build error on this for 32 bits [1], fixing while merging by
>replacing '%ld' -> '%zd', please double check in next-net.
>

Thanks Ferruh, change looks good.

>[1]
>../drivers/net/qede/qede_regs.c: In function ‘qede_write_fwdump’:
>../drivers/net/qede/qede_regs.c:229:59: error: format ‘%ld’ expects
>argument of type ‘long int’, but argument 3 has type ‘size_t {aka unsigned
>int}’
>[-Werror=format=]
>   fprintf(stderr, "Can not write all of dump data bytes=%ld len=%ld\n",
>                                                         ~~^
>                                                         %d
>../drivers/net/qede/qede_regs.c:229:67: error: format ‘%ld’ expects
>argument of type ‘long int’, but argument 4 has type ‘size_t {aka unsigned
>int}’
>[-Werror=format=]
>   fprintf(stderr, "Can not write all of dump data bytes=%ld len=%ld\n",
>                                                                 ~~^
>                                                                 %d

Reply via email to