[EHL][TGL][ADL] PMC Time-aware GPIO

Bug #1929890 reported by Chao Qin
12
This bug affects 1 person
Affects Status Importance Assigned to Milestone
intel
Fix Released
Undecided
Unassigned
Lookout-canyon-series
Fix Released
Undecided
Unassigned
linux-intel (Ubuntu)
Fix Committed
Medium
Hsuan-Yu Lin
Focal
New
Undecided
Unassigned
linux-intel-5.13 (Ubuntu)
Invalid
Undecided
Unassigned
Focal
Fix Committed
Undecided
Unassigned

Bug Description

Description
GPIO controller on CNL PCH has a new feature which allows for timed trigger of GPIO events.
We should consider at least following aspects and if needed we can create subtasks:
Translation of ART->System Time on input
Any output GPIO
Cross-timestamp and/or edge counting of input GPIOs supporting high frequency input
Similar feature to input, counting output edges
Time Aware GPIO Frequency Discipline - GPIO Frequency Adjustment
Time Aware GPIO Output - Fire on Trigger
Time Aware GPIO Input - Stamp on Edge Detection

Hardware: Tiger Lake & Elkhart Lake & Alder Lake

Target Release: 21.04
Target Kernel: TBD

External links:
https://github.com/intel/linux-intel-quilt/tree/mainline-tracking-v5.11-yocto-210223T083754Z

Revision history for this message
Chao Qin (chaoqin) wrote :

Please find the following patches in the above external link

0001-drivers-ptp-Add-Enhanced-handling-of-reserve-fields.tgpio
0002-drivers-ptp-Add-PEROUT2-ioctl-frequency-adjustment-i.tgpio
0003-drivers-ptp-Add-user-space-input-polling-interface.tgpio
0004-x86-tsc-Add-TSC-support-functions-to-support-ART-dri.tgpio
0005-Add-support-for-PMC-Time-Aware-GPIO-TGPIO-hardware-t.tgpio
0006-OSE-TGPIO-driver.tgpio
0007-x86-core-TSC-reliable-kernel-arg-prevents-DQ-of-TSC-.tgpio
0008-Add-TGPIO-README.tgpio

Chao Qin (chaoqin)
no longer affects: ubuntu
tags: added: lookout-canyon
Changed in linux-intel (Ubuntu):
assignee: nobody → Hsuan-Yu Lin (shanelin)
no longer affects: linux (Ubuntu)
Changed in linux-intel (Ubuntu):
importance: Undecided → Medium
Revision history for this message
Brad Figg (brad-figg) wrote :

I've applied and pushed the above patches to the focal:linux-intel intel-5.13-next branch.

Changed in linux-intel (Ubuntu):
status: New → Fix Committed
Changed in intel:
status: New → Fix Committed
Revision history for this message
Chao Qin (chaoqin) wrote :

commits for v5.13 are included in the following
https://github.com/intel/linux-intel-quilt/tree/mainline-tracking-v5.13-yocto-210727T062416Z

0001-drivers-ptp-Add-Enhanced-handling-of-reserve-fields.tgpio
0002-drivers-ptp-Add-PEROUT2-ioctl-frequency-adjustment-i.tgpio
0003-drivers-ptp-Add-user-space-input-polling-interface.tgpio
0004-x86-tsc-Add-TSC-support-functions-to-support-ART-dri.tgpio
0005-Add-support-for-PMC-Time-Aware-GPIO-TGPIO-hardware-t.tgpio
0006-OSE-TGPIO-driver.tgpio
0007-x86-core-TSC-reliable-kernel-arg-prevents-DQ-of-TSC-.tgpio
0008-Add-TGPIO-README.tgpio
0009-Revert-OSE-TGPIO-driver.tgpio
0010-drivers-ptp-Add-PSE-Time-Aware-GPIO-Driver.tgpio
0011-ptp-ptp-intel-tgpio-Add-COMPV-GPIO-Mode-for-PSE-TGPI.tgpio
0012-ptp-intel-tgpio-Reset-pin-configuration-when-disabli.tgpio
0013-ptp-intel-tgpio-Enable-RPM-and-PM-for-PSE-TGPIO.tgpio
0014-mfd-intel-ehl-gpio-Introduce-MFD-framework-to-PSE-GP.tgpio
0015-TGPIO-Calling-power-management-calls-without-enterin.tgpio
0016-TGPIO-Fix-PSE-TGPIO-PTP-driver-ioctls-fail.tgpio
0017-Kernel-Argument-Bypassing-ART-Detection.tgpio
0018-GPIO-Fix-for-PSE-GPIO-generating-only-one-event-as-i.tgpio
0019-Configure-pin-function-before-perout-request.tgpio
0020-Added-TGPIO-pin-check-before-input-event-read.tgpio
0021-Added-an-Example-to-adjust-frequency-for-output.tgpio
0022-ptp-tgpio-PSE-TGPIO-crosststamp-counttstamp.tgpio
0023-ptp-Fixed-read-issue-on-PHC-with-zero-n_pins.tgpio

Jesse Sung (wenchien)
information type: Private → Public
Jesse Sung (wenchien)
Changed in linux-intel-5.13 (Ubuntu Focal):
status: New → Fix Committed
Changed in linux-intel-5.13 (Ubuntu):
status: New → Invalid
Chao Qin (chaoqin)
summary: - [EHL][TGL] PMC Time-aware GPIO
+ [EHL][TGL][ADL] PMC Time-aware GPIO
tags: added: iotg-adl
Chao Qin (chaoqin)
description: updated
Revision history for this message
Kent Lin (kent-jclin) wrote :
information type: Public → Private
Ana Lasprilla (anamlt)
Changed in intel:
milestone: none → adl-iotg
Revision history for this message
Ubuntu Kernel Bot (ubuntu-kernel-bot) wrote :

This bug is awaiting verification that the linux-intel-iotg-5.15/5.15.0-1002.4~20.04.2 kernel in -proposed solves the problem. Please test the kernel and update this bug with the results. If the problem is solved, change the tag 'verification-needed-focal' to 'verification-done-focal'. If the problem still exists, change the tag 'verification-needed-focal' to 'verification-failed-focal'.

If verification is not done by 5 working days from today, this fix will be dropped from the source code, and this bug will be closed.

See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you!

tags: added: verification-needed-focal
Revision history for this message
Chao Qin (chaoqin) wrote :

v5.15 kernel updates are as following

https://github.com/intel/linux-intel-quilt/tree/lts-v5.15.21-linux-220222T001242Z-1

0001-drivers-ptp-Add-Enhanced-handling-of-reserve-fields.patch
0002-drivers-ptp-Add-PEROUT2-ioctl-frequency-adjustment-i.patch
0003-drivers-ptp-Add-user-space-input-polling-interface.patch
0004-x86-tsc-Add-TSC-support-functions-to-support-ART-dri.patch
0005-drivers-ptp-Add-support-for-PMC-Time-Aware-GPIO-Driv.patch
0006-x86-core-TSC-reliable-kernel-arg-prevents-DQ-of-TSC-.patch
0007-mfd-intel-ehl-gpio-Introduce-MFD-framework-to-PSE-GP.patch
0008-TGPIO-Calling-power-management-calls-without-enterin.patch
0009-TGPIO-Fix-PSE-TGPIO-PTP-driver-ioctls-fail.patch
0010-Kernel-Argument-Bypassing-ART-Detection.patch
0011-GPIO-Fix-for-PSE-GPIO-generating-only-one-event-as-i.patch
0012-Configure-pin-function-before-perout-request.patch --> 87eee9c5589e1e546537a38a72e7ea3f0a7cac60
0013-Added-TGPIO-pin-check-before-input-event-read.patch
0014-Added-an-Example-to-adjust-frequency-for-output.patch
0015-ptp-tgpio-PSE-TGPIO-crosststamp-counttstamp.patch
0016-ptp-Fixed-read-issue-on-PHC-with-zero-n_pins.patch
0017-ptp-S-W-workaround-for-PMC-TGPIO-h-w-bug.patch
0018-ptp-Fix-for-PSE-TGPIO-Oneshot-output-and-counttstamp.patch
0019-ptp-Fix-for-PSE-TGPIO-frequency-Adjustment-issue.patch
0020-tgpio-Fix-compilation-errors-for-PSE-TGPIO.patch
0021-Added-single-shot-output-mode-support-for-TGPIO.patch
0022-Added-an-example-to-poll-for-edges.patch
0023-Added-support-to-get-TGPIO-System-Clock-Offset.patch
0024-Added-single-shot-output-mode-option-for-TGPIO-pin.patch
0025-selftests-ptp-Added-COMPV-GPIO-Input-Mode-for-TGPIO.patch
0026-ptp-Introduce-PTP_PINDESC_INPUTPOLL-for-Intel-PMC-TG.patch
0027-drivers-ptp-Add-COMPV-GPIO-Mode-for-PSE-TGPIO.patch
0001-ptp-Add-PTP_EVENT_COUNTER_MODE-in-v1-valid-flags.patch
0001-tools-testptp-Update-period-for-periodic-output-mode.patch

Ana Lasprilla (anamlt)
Changed in intel:
status: Fix Committed → Fix Released
information type: Private → Public
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.