Re: [Intel-wired-lan] [PATCH] e1000e: Populate entire system_counterval_t in get_time_fn() callback

2025-07-19 Thread Thomas Gleixner
On Wed, Jul 09 2025 at 16:34, Markus Blöchl wrote:

> get_time_fn() callback implementations are expected to fill out the
> entire system_counterval_t struct as it may be initially uninitialized.
>
> This broke with the removal of convert_art_to_tsc() helper functions
> which left use_nsecs uninitialized.
>
> Assign the entire struct again.
>
> Fixes: bd48b50be50a ("e1000e: Replace convert_art_to_tsc()")
> Cc: [email protected]
> ---
> Notes:
>
> Related-To: 
> 
> ---
>  drivers/net/ethernet/intel/e1000e/ptp.c | 7 +--
>  1 file changed, 5 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/net/ethernet/intel/e1000e/ptp.c 
> b/drivers/net/ethernet/intel/e1000e/ptp.c
> index 
> ea3c3eb2ef2020d513d49c1368679f27d17edb04..f01506504ee3a11822930115e9ed07661d81532c
>  100644
> --- a/drivers/net/ethernet/intel/e1000e/ptp.c
> +++ b/drivers/net/ethernet/intel/e1000e/ptp.c
> @@ -124,8 +124,11 @@ static int e1000e_phc_get_syncdevicetime(ktime_t *device,
>   sys_cycles = er32(PLTSTMPH);
>   sys_cycles <<= 32;
>   sys_cycles |= er32(PLTSTMPL);
> - system->cycles = sys_cycles;
> - system->cs_id = CSID_X86_ART;
> + *system = (struct system_counterval_t) {
> + .cycles = sys_cycles,
> + .cs_id = CSID_X86_ART,
> + .use_nsecs = false,

This is again the wrong place to fix this.

> + };
>  
>   return 0;
>  }
>
> ---
> base-commit: 733923397fd95405a48f165c9b1fbc8c4b0a4681
> change-id: 20250709-e1000e_crossts-7745674f682a
>
> Best regards,


Re: [Intel-wired-lan] [PATCH] e1000e: Populate entire system_counterval_t in get_time_fn() callback

2025-07-10 Thread John Stultz
On Wed, Jul 9, 2025 at 7:34 AM Markus Blöchl  wrote:
>
> get_time_fn() callback implementations are expected to fill out the
> entire system_counterval_t struct as it may be initially uninitialized.
>
> This broke with the removal of convert_art_to_tsc() helper functions
> which left use_nsecs uninitialized.
>
> Assign the entire struct again.
>
> Fixes: bd48b50be50a ("e1000e: Replace convert_art_to_tsc()")
> Cc: [email protected]

Acked-by: John Stultz 

thanks
-john


[Intel-wired-lan] [PATCH] e1000e: Populate entire system_counterval_t in get_time_fn() callback

2025-07-09 Thread Markus Blöchl
get_time_fn() callback implementations are expected to fill out the
entire system_counterval_t struct as it may be initially uninitialized.

This broke with the removal of convert_art_to_tsc() helper functions
which left use_nsecs uninitialized.

Assign the entire struct again.

Fixes: bd48b50be50a ("e1000e: Replace convert_art_to_tsc()")
Cc: [email protected]
---
Notes:

Related-To: 

---
 drivers/net/ethernet/intel/e1000e/ptp.c | 7 +--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/drivers/net/ethernet/intel/e1000e/ptp.c 
b/drivers/net/ethernet/intel/e1000e/ptp.c
index 
ea3c3eb2ef2020d513d49c1368679f27d17edb04..f01506504ee3a11822930115e9ed07661d81532c
 100644
--- a/drivers/net/ethernet/intel/e1000e/ptp.c
+++ b/drivers/net/ethernet/intel/e1000e/ptp.c
@@ -124,8 +124,11 @@ static int e1000e_phc_get_syncdevicetime(ktime_t *device,
sys_cycles = er32(PLTSTMPH);
sys_cycles <<= 32;
sys_cycles |= er32(PLTSTMPL);
-   system->cycles = sys_cycles;
-   system->cs_id = CSID_X86_ART;
+   *system = (struct system_counterval_t) {
+   .cycles = sys_cycles,
+   .cs_id = CSID_X86_ART,
+   .use_nsecs = false,
+   };
 
return 0;
 }

---
base-commit: 733923397fd95405a48f165c9b1fbc8c4b0a4681
change-id: 20250709-e1000e_crossts-7745674f682a

Best regards,
-- 
Markus Blöchl