#ifndef SOUND_FIREWIRE_ISO_RESOURCES_H_INCLUDED #define SOUND_FIREWIRE_ISO_RESOURCES_H_INCLUDED #include #include struct fw_unit; /** * struct fw_iso_resources - manages channel/bandwidth allocation * @channels_mask: if the device does not support all channel numbers, set this * bit mask to something else than the default (all ones) * * This structure manages (de)allocation of isochronous resources (channel and * bandwidth) for one isochronous stream. */ struct fw_iso_resources { u64 channels_mask; /* private: */ struct fw_unit *unit; struct mutex mutex; unsigned int channel; unsigned int bandwidth; /* in bandwidth units, without overhead */ unsigned int bandwidth_overhead; int generation; /* in which allocation is valid */ bool allocated; }; int fw_iso_resources_init(struct fw_iso_resources *r, struct fw_unit *unit); void fw_iso_resources_destroy(struct fw_iso_resources *r); int fw_iso_resources_allocate(struct fw_iso_resources *r, unsigned int max_payload_bytes, int speed); int fw_iso_resources_update(struct fw_iso_resources *r); void fw_iso_resources_free(struct fw_iso_resources *r); #endif n> net-next plumbingsTobias Klauser
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBorislav Petkov <bp@suse.de>2017-01-20 21:29:40 +0100
committerThomas Gleixner <tglx@linutronix.de>2017-01-23 09:39:55 +0100
commitc26665ab5c49ad3e142e0f054ca3204f259ba09c (patch)
tree3bab11918e18e9d25ef7544dba05cdf39d1abec5 /sound/pcmcia/pdaudiocf/pdaudiocf_irq.c
parent7a308bb3016f57e5be11a677d15b821536419d36 (diff)
x86/microcode/intel: Drop stashed AP patch pointer optimization
This was meant to save us the scanning of the microcode containter in the initrd since the first AP had already done that but it can also hurt us: Imagine a single hyperthreaded CPU (Intel(R) Atom(TM) CPU N270, for example) which updates the microcode on the BSP but since the microcode engine is shared between the two threads, the update on CPU1 doesn't happen because it has already happened on CPU0 and we don't find a newer microcode revision on CPU1. Which doesn't set the intel_ucode_patch pointer and at initrd jettisoning time we don't save the microcode patch for later application. Now, when we suspend to RAM, the loaded microcode gets cleared so we need to reload but there's no patch saved in the cache. Removing the optimization fixes this issue and all is fine and dandy. Fixes: 06b8534cb728 ("x86/microcode: Rework microcode loading") Signed-off-by: Borislav Petkov <bp@suse.de> Reviewed-by: Thomas Gleixner <tglx@linutronix.de> Link: http://lkml.kernel.org/r/20170120202955.4091-2-bp@alien8.de Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'sound/pcmcia/pdaudiocf/pdaudiocf_irq.c')