aboutsummaryrefslogtreecommitdiffstats
path: root/sound
Commit message (Expand)AuthorAge
...
* [ALSA] hda-codec - Support multiple headphone pinsTakashi Iwai2006-09-23
* [ALSA] hda_intel prefer 24bit instead of 20bitNicolas Graziano2006-09-23
* [ALSA] hda-codec - Add vendor ids for Motorola and ConexantTakashi Iwai2006-09-23
* [ALSA] hda-codec - Add device id for Motorola si3054-compatible codecTakashi Iwai2006-09-23
* [ALSA] Add missing compat ioctls for ALSA control APITakashi Iwai2006-09-23
* [ALSA] powermac - Fix Oops when conflicting with aoa driverTakashi Iwai2006-09-23
* [ALSA] aoa: add locking to tas codecJohannes Berg2006-09-23
* [ALSA] hda-intel - Fix suspend/resume with MSITakashi Iwai2006-09-23
* [ALSA] ak4xxx - Remove bogus IPGA controlsTakashi Iwai2006-09-23
* [ALSA] Fix WM9705 AC97 patch build errorLiam Girdwood2006-09-23
* [ALSA] hda-codec - Fix SPDIF device number of ALC codecsTakashi Iwai2006-09-23
* [ALSA] hda-intel - Fix pci_disable_msi() callTakashi Iwai2006-09-23
* [ALSA] hda-codec - Add support for LG LW25 laptopTakashi Iwai2006-09-23
* [ALSA] Add pcm_class attribute to PCM sysfs entryTakashi Iwai2006-09-23
* [ALSA] hda-codec - Add independent headphone volume controlTakashi Iwai2006-09-23
* [ALSA] [snd-intel-hda] enable center/LFE speaker on some laptopsRichard Fish2006-09-23
* [ALSA] Add dB information to es1938 driverTakashi Iwai2006-09-23
* [ALSA] hdsp - Fix auto-updating of firmwareTakashi Iwai2006-09-23
* [ALSA] sparc dbri: SMP fixesKrzysztof Helt2006-09-23
* [ALSA] es1968: Fix hw volumeVille Syrjala2006-09-23
* [ALSA] ac97: Fix AD1819 volume rangeVille Syrjala2006-09-23
* [ALSA] hda-codec - Add 5 stack audio support for Intel 965 systemsTobin Davis2006-09-23
* [ALSA] Add dB scale information to mixart driverTakashi Iwai2006-09-23
* [ALSA] [PPC,SOUND] Fix audio gpio state detectionAndreas Schwab2006-09-23
* [ALSA] sound/pci/hda/intel_hda: small cleanupsPavel Machek2006-09-23
* [ALSA] hda-intel - Remove volatileTakashi Iwai2006-09-23
* [ALSA] Add dB scale information to ice1724 driverTakashi Iwai2006-09-23
* [ALSA] Add dB scale information to ice1712 driverTakashi Iwai2006-09-23
* [ALSA] Clean up and add TLV support to AK4xxx i2c driverTakashi Iwai2006-09-23
* [ALSA] Add missing dB scale information to vxpocket driverTakashi Iwai2006-09-23
* [ALSA] Support for non-standard rates in USB audio driverLuke Ross2006-09-23
* [ALSA] ac97 - Fix VIA EPIA sound problemAndrey Liakhovets2006-09-23
* [ALSA] ymfpci - Add TLV entries for native volume controlsTakashi Iwai2006-09-23
* [ALSA] sparc dbri: OSS layer fixKrzysztof Helt2006-09-23
* [ALSA] dbri sparc: fixes TS leakKrzysztof Helt2006-09-23
* [ALSA] sparc dbri: recording is backKrzysztof Helt2006-09-23
* [ALSA] hda-codec - Use model=ref for some Dell laptopsTakashi Iwai2006-09-23
* [ALSA] Return error if no user TLV is definedTakashi Iwai2006-09-23
* [ALSA] Fix errors with user TLV_WRITETakashi Iwai2006-09-23
* [ALSA] Add dB scale information to vxpocket and vx222 driversTakashi Iwai2006-09-23
* [ALSA] Add dB scale information to pcxhr driverTakashi Iwai2006-09-23
* [ALSA] Fix volume control for the AK4358 DACJochen Voss2006-09-23
* [ALSA] hda-codec - Fix mic capture with generic parserTakashi Iwai2006-09-23
* [ALSA] hda-codec - restore HDA sigmatel pin configs on resumeRichard Fish2006-09-23
* [ALSA] hda-codec - Support for SigmaTel 9872Guillaume Munch2006-09-23
* [ALSA] ac97 - Enable S/PDIF on ASUS P5P800-VM moboMagnus Sandin2006-09-23
* [ALSA] hda-codec - Fix for Acer laptops with ALC883 codecVladimir Avdonin2006-09-23
* [ALSA] Add dB scale information to opl3sa2 driverTakashi Iwai2006-09-23
* [ALSA] Add dB scale information to ad1848 driverTakashi Iwai2006-09-23
* [ALSA] Add dB scale information to ad1816a driverTakashi Iwai2006-09-23
-0400 committer Linus Torvalds <torvalds@g5.osdl.org> 2006-07-15 00:53:56 -0400 [PATCH] per-task-delay-accounting: setup' href='/cgit/cgit.cgi/litmus-rt.git/commit/include/linux/delayacct.h?h=v2.6.28-rc3&id=ca74e92b4698276b6696f15a801759f50944f387'>ca74e92b4698
0ff922452df8



6f44993fe1d7


25890454667b

846c7bb05574

873b47717732




ca74e92b4698


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153



















                                                                        
                                 
 





                                                                         
                                                                        
 


                                                                    
                                          


                                                       

                                          
                                                                         
                                                           

                                              
 







                                                                        















                                                                      
                         


                                          



                                                                

                        

                                                              

 

                                              
                                               







                                            
                                                 

 


                                                                
                                          



                                           






                                                                  











                                                  








                                                              
                                                              
  



                                              


                                                                

                                                                  

                                                                        




                                                  


                                   
/* delayacct.h - per-task delay accounting
 *
 * Copyright (C) Shailabh Nagar, IBM Corp. 2006
 *
 * This program is free software;  you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY;  without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See
 * the GNU General Public License for more details.
 *
 */

#ifndef _LINUX_DELAYACCT_H
#define _LINUX_DELAYACCT_H

#include <linux/sched.h>
#include <linux/taskstats_kern.h>

/*
 * Per-task flags relevant to delay accounting
 * maintained privately to avoid exhausting similar flags in sched.h:PF_*
 * Used to set current->delays->flags
 */
#define DELAYACCT_PF_SWAPIN	0x00000001	/* I am doing a swapin */
#define DELAYACCT_PF_BLKIO	0x00000002	/* I am waiting on IO */

#ifdef CONFIG_TASK_DELAY_ACCT

extern int delayacct_on;	/* Delay accounting turned on/off */
extern struct kmem_cache *delayacct_cache;
extern void delayacct_init(void);
extern void __delayacct_tsk_init(struct task_struct *);
extern void __delayacct_tsk_exit(struct task_struct *);
extern void __delayacct_blkio_start(void);
extern void __delayacct_blkio_end(void);
extern int __delayacct_add_tsk(struct taskstats *, struct task_struct *);
extern __u64 __delayacct_blkio_ticks(struct task_struct *);
extern void __delayacct_freepages_start(void);
extern void __delayacct_freepages_end(void);

static inline int delayacct_is_task_waiting_on_io(struct task_struct *p)
{
	if (p->delays)
		return (p->delays->flags & DELAYACCT_PF_BLKIO);
	else
		return 0;
}

static inline void delayacct_set_flag(int flag)
{
	if (current->delays)
		current->delays->flags |= flag;
}

static inline void delayacct_clear_flag(int flag)
{
	if (current->delays)
		current->delays->flags &= ~flag;
}

static inline void delayacct_tsk_init(struct task_struct *tsk)
{
	/* reinitialize in case parent's non-null pointer was dup'ed*/
	tsk->delays = NULL;
	if (delayacct_on)
		__delayacct_tsk_init(tsk);
}

/* Free tsk->delays. Called from bad fork and __put_task_struct
 * where there's no risk of tsk->delays being accessed elsewhere
 */
static inline void delayacct_tsk_free(struct task_struct *tsk)
{
	if (tsk->delays)
		kmem_cache_free(delayacct_cache, tsk->delays);
	tsk->delays = NULL;
}

static inline void delayacct_blkio_start(void)
{
	delayacct_set_flag(DELAYACCT_PF_BLKIO);
	if (current->delays)
		__delayacct_blkio_start();
}

static inline void delayacct_blkio_end(void)
{
	if (current->delays)
		__delayacct_blkio_end();
	delayacct_clear_flag(DELAYACCT_PF_BLKIO);
}

static inline int delayacct_add_tsk(struct taskstats *d,
					struct task_struct *tsk)
{
	if (!delayacct_on || !tsk->delays)
		return 0;
	return __delayacct_add_tsk(d, tsk);
}

static inline __u64 delayacct_blkio_ticks(struct task_struct *tsk)
{
	if (tsk->delays)
		return __delayacct_blkio_ticks(tsk);
	return 0;
}

static inline void delayacct_freepages_start(void)
{
	if (current->delays)
		__delayacct_freepages_start();
}

static inline void delayacct_freepages_end(void)
{
	if (current->delays)
		__delayacct_freepages_end();
}

#else
static inline void delayacct_set_flag(int flag)
{}
static inline void delayacct_clear_flag(int flag)
{}
static inline void delayacct_init(void)
{}
static inline void delayacct_tsk_init(struct task_struct *tsk)
{}
static inline void delayacct_tsk_free(struct task_struct *tsk)
{}
static inline void delayacct_blkio_start(void)
{}
static inline void delayacct_blkio_end(void)
{}
static inline int delayacct_add_tsk(struct taskstats *d,
					struct task_struct *tsk)
{ return 0; }
static inline __u64 delayacct_blkio_ticks(struct task_struct *tsk)
{ return 0; }
static inline int delayacct_is_task_waiting_on_io(struct task_struct *p)
{ return 0; }
static inline void delayacct_freepages_start(void)
{}
static inline void delayacct_freepages_end(void)
{}

#endif /* CONFIG_TASK_DELAY_ACCT */

#endif