| /kernel/linux/linux-5.10/drivers/pps/ |
| D | kapi.c | 41 static void pps_echo_client_default(struct pps_device *pps, int event, in pps_echo_client_default() argument 44 dev_info(pps->dev, "echo %s %s\n", in pps_echo_client_default() 53 /* pps_register_source - add a PPS source in the system 54 * @info: the PPS info struct 55 * @default_params: the default PPS parameters of the new source 57 * This function is used to add a new PPS source in the system. The new 58 * source is described by info's fields and it will have, as default PPS 61 * The function returns, in case of success, the PPS device. Otherwise 68 struct pps_device *pps; in pps_register_source() local 85 /* Allocate memory for the new PPS source struct */ in pps_register_source() [all …]
|
| D | pps.c | 3 * PPS core file 40 struct pps_device *pps = file->private_data; in pps_cdev_poll() local 42 poll_wait(file, &pps->queue, wait); in pps_cdev_poll() 49 struct pps_device *pps = file->private_data; in pps_cdev_fasync() local 50 return fasync_helper(fd, file, on, &pps->async_queue); in pps_cdev_fasync() 53 static int pps_cdev_pps_fetch(struct pps_device *pps, struct pps_fdata *fdata) in pps_cdev_pps_fetch() argument 55 unsigned int ev = pps->last_ev; in pps_cdev_pps_fetch() 60 err = wait_event_interruptible(pps->queue, in pps_cdev_pps_fetch() 61 ev != pps->last_ev); in pps_cdev_pps_fetch() 65 dev_dbg(pps->dev, "timeout %lld.%09d\n", in pps_cdev_pps_fetch() [all …]
|
| D | kc.c | 3 * PPS kernel consumer API 25 /* PPS API (RFC 2783): current source and mode for kernel consumer */ 29 /* pps_kc_bind - control PPS kernel consumer binding 30 * @pps: the PPS source 33 * This function is used to bind or unbind PPS kernel consumer according to 36 int pps_kc_bind(struct pps_device *pps, struct pps_bind_args *bind_args) in pps_kc_bind() argument 42 if (pps_kc_hardpps_dev == pps) { in pps_kc_bind() 46 dev_info(pps->dev, "unbound kernel" in pps_kc_bind() 50 dev_err(pps->dev, "selected kernel consumer" in pps_kc_bind() 56 pps_kc_hardpps_dev == pps) { in pps_kc_bind() [all …]
|
| D | Kconfig | 3 # PPS support configuration 6 menuconfig PPS config 7 tristate "PPS support" 9 PPS (Pulse Per Second) is a special pulse provided by some GPS 13 Some antennae's PPS signals are connected with the CD (Carrier 17 Some antennae's PPS signals are connected with some special host 23 if PPS 26 bool "PPS debugging messages" 28 Say Y here if you want the PPS support to produce a bunch of debug 30 problem with PPS support and want to see more of what is going on. [all …]
|
| D | sysfs.c | 3 * PPS sysfs support 21 struct pps_device *pps = dev_get_drvdata(dev); in assert_show() local 23 if (!(pps->info.mode & PPS_CAPTUREASSERT)) in assert_show() 27 (long long) pps->assert_tu.sec, pps->assert_tu.nsec, in assert_show() 28 pps->assert_sequence); in assert_show() 35 struct pps_device *pps = dev_get_drvdata(dev); in clear_show() local 37 if (!(pps->info.mode & PPS_CAPTURECLEAR)) in clear_show() 41 (long long) pps->clear_tu.sec, pps->clear_tu.nsec, in clear_show() 42 pps->clear_sequence); in clear_show() 49 struct pps_device *pps = dev_get_drvdata(dev); in mode_show() local [all …]
|
| /kernel/linux/linux-4.19/drivers/pps/ |
| D | kapi.c | 55 static void pps_echo_client_default(struct pps_device *pps, int event, in pps_echo_client_default() argument 58 dev_info(pps->dev, "echo %s %s\n", in pps_echo_client_default() 67 /* pps_register_source - add a PPS source in the system 68 * @info: the PPS info struct 69 * @default_params: the default PPS parameters of the new source 71 * This function is used to add a new PPS source in the system. The new 72 * source is described by info's fields and it will have, as default PPS 75 * The function returns, in case of success, the PPS device. Otherwise NULL. 81 struct pps_device *pps; in pps_register_source() local 98 /* Allocate memory for the new PPS source struct */ in pps_register_source() [all …]
|
| D | pps.c | 2 * PPS core file 54 struct pps_device *pps = file->private_data; in pps_cdev_poll() local 56 poll_wait(file, &pps->queue, wait); in pps_cdev_poll() 63 struct pps_device *pps = file->private_data; in pps_cdev_fasync() local 64 return fasync_helper(fd, file, on, &pps->async_queue); in pps_cdev_fasync() 67 static int pps_cdev_pps_fetch(struct pps_device *pps, struct pps_fdata *fdata) in pps_cdev_pps_fetch() argument 69 unsigned int ev = pps->last_ev; in pps_cdev_pps_fetch() 74 err = wait_event_interruptible(pps->queue, in pps_cdev_pps_fetch() 75 ev != pps->last_ev); in pps_cdev_pps_fetch() 79 dev_dbg(pps->dev, "timeout %lld.%09d\n", in pps_cdev_pps_fetch() [all …]
|
| D | kc.c | 2 * PPS kernel consumer API 38 /* PPS API (RFC 2783): current source and mode for kernel consumer */ 42 /* pps_kc_bind - control PPS kernel consumer binding 43 * @pps: the PPS source 46 * This function is used to bind or unbind PPS kernel consumer according to 49 int pps_kc_bind(struct pps_device *pps, struct pps_bind_args *bind_args) in pps_kc_bind() argument 55 if (pps_kc_hardpps_dev == pps) { in pps_kc_bind() 59 dev_info(pps->dev, "unbound kernel" in pps_kc_bind() 63 dev_err(pps->dev, "selected kernel consumer" in pps_kc_bind() 69 pps_kc_hardpps_dev == pps) { in pps_kc_bind() [all …]
|
| D | Kconfig | 2 # PPS support configuration 5 menuconfig PPS config 6 tristate "PPS support" 8 PPS (Pulse Per Second) is a special pulse provided by some GPS 12 Some antennae's PPS signals are connected with the CD (Carrier 16 Some antennae's PPS signals are connected with some special host 22 if PPS 25 bool "PPS debugging messages" 27 Say Y here if you want the PPS support to produce a bunch of debug 29 problem with PPS support and want to see more of what is going on. [all …]
|
| D | sysfs.c | 2 * PPS sysfs support 35 struct pps_device *pps = dev_get_drvdata(dev); in assert_show() local 37 if (!(pps->info.mode & PPS_CAPTUREASSERT)) in assert_show() 41 (long long) pps->assert_tu.sec, pps->assert_tu.nsec, in assert_show() 42 pps->assert_sequence); in assert_show() 49 struct pps_device *pps = dev_get_drvdata(dev); in clear_show() local 51 if (!(pps->info.mode & PPS_CAPTURECLEAR)) in clear_show() 55 (long long) pps->clear_tu.sec, pps->clear_tu.nsec, in clear_show() 56 pps->clear_sequence); in clear_show() 63 struct pps_device *pps = dev_get_drvdata(dev); in mode_show() local [all …]
|
| /kernel/linux/linux-5.10/drivers/gpu/drm/amd/display/dc/dcn20/ |
| D | dcn20_dsc.c | 30 static void dsc_log_pps(struct display_stream_compressor *dsc, struct drm_dsc_config *pps); 202 DC_LOG_DSC("programming DSC Picture Parameter Set (PPS):"); in dsc2_set_config() 203 dsc_log_pps(dsc, &dsc20->reg_vals.pps); in dsc2_set_config() 217 DC_LOG_DSC("Getting packed DSC PPS for DSC Config:"); in dsc2_get_packed_pps() 219 DC_LOG_DSC("DSC Picture Parameter Set (PPS):"); in dsc2_get_packed_pps() 222 …drm_dsc_pps_payload_pack((struct drm_dsc_picture_parameter_set *)dsc_packed_pps, &dsc_reg_vals.pps… in dsc2_get_packed_pps() 223 dsc_log_pps(dsc, &dsc_reg_vals.pps); in dsc2_get_packed_pps() 279 static void dsc_log_pps(struct display_stream_compressor *dsc, struct drm_dsc_config *pps) in dsc_log_pps() argument 282 int bits_per_pixel = pps->bits_per_pixel; in dsc_log_pps() 284 DC_LOG_DSC("\tdsc_version_major %d", pps->dsc_version_major); in dsc_log_pps() [all …]
|
| /kernel/linux/linux-4.19/Documentation/pps/ |
| D | pps.txt | 2 PPS - Pulse Per Second 23 system several PPS sources. 25 PPS means "pulse per second" and a PPS source is just a device which 29 A PPS source can be connected to a serial port (usually to the Data 36 GPS receiver as PPS source, to obtain a wallclock-time with 43 While implementing a PPS API as RFC 2783 defines and using an embedded 53 task for a PPS API. But this assumption does not work for a single 56 precondition for the use of a PPS API. 58 The problem can be simply solved if you consider that a PPS source is 62 for instance) is a PPS source too, and if not they should provide the [all …]
|
| /kernel/linux/linux-5.10/Documentation/driver-api/ |
| D | pps.rst | 4 PPS - Pulse Per Second 25 system several PPS sources. 27 PPS means "pulse per second" and a PPS source is just a device which 31 A PPS source can be connected to a serial port (usually to the Data 38 GPS receiver as PPS source, to obtain a wallclock-time with 45 While implementing a PPS API as RFC 2783 defines and using an embedded 55 task for a PPS API. But this assumption does not work for a single 58 precondition for the use of a PPS API. 60 The problem can be simply solved if you consider that a PPS source is 64 for instance) is a PPS source too, and if not they should provide the [all …]
|
| /kernel/linux/linux-5.10/drivers/pps/clients/ |
| D | pps-ldisc.c | 3 * pps-ldisc.c -- PPS line discipline 20 struct pps_device *pps; in pps_tty_dcd_change() local 25 pps = pps_lookup_dev(tty); in pps_tty_dcd_change() 30 if (WARN_ON_ONCE(pps == NULL)) in pps_tty_dcd_change() 33 /* Now do the PPS event report */ in pps_tty_dcd_change() 34 pps_event(pps, &ts, status ? PPS_CAPTUREASSERT : in pps_tty_dcd_change() 37 dev_dbg(pps->dev, "PPS %s at %lu\n", in pps_tty_dcd_change() 48 struct pps_device *pps; in pps_tty_open() local 59 pps = pps_register_source(&info, PPS_CAPTUREBOTH | \ in pps_tty_open() 61 if (IS_ERR(pps)) { in pps_tty_open() [all …]
|
| D | pps-gpio.c | 3 * pps-gpio.c -- PPS client driver using GPIO 9 #define PPS_GPIO_NAME "pps-gpio" 19 #include <linux/pps-gpio.h> 29 int irq; /* IRQ used as PPS source */ 30 struct pps_device *pps; /* PPS source device */ member 31 struct pps_source_info info; /* PPS source information */ 37 unsigned int echo_active_ms; /* PPS echo active duration */ 42 * Report the PPS event 59 pps_event(info->pps, &ts, PPS_CAPTUREASSERT, data); in pps_gpio_irq_handler() 63 pps_event(info->pps, &ts, PPS_CAPTURECLEAR, data); in pps_gpio_irq_handler() [all …]
|
| D | pps-ktimer.c | 3 * pps-ktimer.c -- kernel timer test client 21 static struct pps_device *pps; variable 35 pps_event(pps, &ts, PPS_CAPTUREASSERT, NULL); in pps_ktimer_event() 41 * The PPS info struct 59 dev_info(pps->dev, "ktimer PPS source unregistered\n"); in pps_ktimer_exit() 62 pps_unregister_source(pps); in pps_ktimer_exit() 67 pps = pps_register_source(&pps_ktimer_info, in pps_ktimer_init() 69 if (IS_ERR(pps)) { in pps_ktimer_init() 70 pr_err("cannot register PPS source\n"); in pps_ktimer_init() 71 return PTR_ERR(pps); in pps_ktimer_init() [all …]
|
| D | Kconfig | 3 # PPS clients configuration 6 comment "PPS clients support" 11 If you say yes here you get support for a PPS debugging client 12 which uses a kernel timer to generate the PPS signal. 15 will be called pps-ktimer. 18 tristate "PPS line discipline" 21 If you say yes here you get support for a PPS source connected 25 tristate "Parallel port PPS client" 28 If you say yes here you get support for a PPS source connected 32 tristate "PPS client using GPIO" [all …]
|
| /kernel/linux/linux-4.19/drivers/pps/clients/ |
| D | pps-ldisc.c | 2 * pps-ldisc.c -- PPS line discipline 34 struct pps_device *pps; in pps_tty_dcd_change() local 39 pps = pps_lookup_dev(tty); in pps_tty_dcd_change() 44 if (WARN_ON_ONCE(pps == NULL)) in pps_tty_dcd_change() 47 /* Now do the PPS event report */ in pps_tty_dcd_change() 48 pps_event(pps, &ts, status ? PPS_CAPTUREASSERT : in pps_tty_dcd_change() 51 dev_dbg(pps->dev, "PPS %s at %lu\n", in pps_tty_dcd_change() 62 struct pps_device *pps; in pps_tty_open() local 73 pps = pps_register_source(&info, PPS_CAPTUREBOTH | \ in pps_tty_open() 75 if (pps == NULL) { in pps_tty_open() [all …]
|
| D | pps-gpio.c | 2 * pps-gpio.c -- PPS client driver using GPIO 23 #define PPS_GPIO_NAME "pps-gpio" 33 #include <linux/pps-gpio.h> 41 int irq; /* IRQ used as PPS source */ 42 struct pps_device *pps; /* PPS source device */ member 43 struct pps_source_info info; /* PPS source information */ 50 * Report the PPS event 67 pps_event(info->pps, &ts, PPS_CAPTUREASSERT, NULL); in pps_gpio_irq_handler() 71 pps_event(info->pps, &ts, PPS_CAPTURECLEAR, NULL); in pps_gpio_irq_handler() 146 /* initialize PPS specific parts of the bookkeeping data structure. */ in pps_gpio_probe() [all …]
|
| D | Kconfig | 2 # PPS clients configuration 5 comment "PPS clients support" 10 If you say yes here you get support for a PPS debugging client 11 which uses a kernel timer to generate the PPS signal. 14 will be called pps-ktimer. 17 tristate "PPS line discipline" 20 If you say yes here you get support for a PPS source connected 24 tristate "Parallel port PPS client" 27 If you say yes here you get support for a PPS source connected 31 tristate "PPS client using GPIO" [all …]
|
| /kernel/linux/linux-4.19/Documentation/ABI/testing/ |
| D | sysfs-pps | 1 What: /sys/class/pps/ 5 The /sys/class/pps/ directory will contain files and 7 the PPS sources. 9 What: /sys/class/pps/ppsX/ 13 The /sys/class/pps/ppsX/ directory is related to X-th 14 PPS source into the system. Each directory will 15 contain files to manage and control its PPS source. 17 What: /sys/class/pps/ppsX/assert 21 The /sys/class/pps/ppsX/assert file reports the assert events 29 What: /sys/class/pps/ppsX/clear [all …]
|
| /kernel/linux/linux-5.10/Documentation/ABI/testing/ |
| D | sysfs-pps | 1 What: /sys/class/pps/ 5 The /sys/class/pps/ directory will contain files and 7 the PPS sources. 9 What: /sys/class/pps/ppsX/ 13 The /sys/class/pps/ppsX/ directory is related to X-th 14 PPS source into the system. Each directory will 15 contain files to manage and control its PPS source. 17 What: /sys/class/pps/ppsX/assert 21 The /sys/class/pps/ppsX/assert file reports the assert events 29 What: /sys/class/pps/ppsX/clear [all …]
|
| /kernel/linux/linux-5.10/drivers/gpu/drm/ |
| D | drm_dsc.c | 33 * drm_dsc_dp_pps_header_init() - Initializes the PPS Header 53 * drm_dsc_pps_payload_pack() - Populates the DSC PPS 62 * DSC source device sends a picture parameter set (PPS) containing the 64 * populates the DSC PPS struct using the DSC configuration parameters in 66 * device expects the PPS payload in big endian format for fields 80 /* PPS 0 */ in drm_dsc_pps_payload_pack() 85 /* PPS 1, 2 is 0 */ in drm_dsc_pps_payload_pack() 87 /* PPS 3 */ in drm_dsc_pps_payload_pack() 92 /* PPS 4 */ in drm_dsc_pps_payload_pack() 101 /* PPS 5 */ in drm_dsc_pps_payload_pack() [all …]
|
| /kernel/linux/linux-5.10/include/linux/ |
| D | pps_kernel.h | 3 * PPS API kernel header 11 #include <linux/pps.h> 22 /* The specific PPS source info */ 26 int mode; /* PPS allowed mode */ 28 void (*echo)(struct pps_device *pps, 29 int event, void *data); /* PPS echo function */ 46 struct pps_kparams params; /* PPS current params */ 48 __u32 assert_sequence; /* PPS assert event seq # */ 49 __u32 clear_sequence; /* PPS clear event seq # */ 52 int current_mode; /* PPS mode at event time */ [all …]
|
| /kernel/linux/linux-4.19/include/linux/ |
| D | pps_kernel.h | 2 * PPS API kernel header 24 #include <linux/pps.h> 35 /* The specific PPS source info */ 39 int mode; /* PPS allowed mode */ 41 void (*echo)(struct pps_device *pps, 42 int event, void *data); /* PPS echo function */ 59 struct pps_kparams params; /* PPS current params */ 61 __u32 assert_sequence; /* PPS assert event seq # */ 62 __u32 clear_sequence; /* PPS clear event seq # */ 65 int current_mode; /* PPS mode at event time */ [all …]
|