3
0
mirror of https://github.com/Qortal/Brooklyn.git synced 2025-02-11 17:55:54 +00:00

Fuck you Elon !

This commit is contained in:
Scare Crowe 2021-07-23 23:52:50 +05:00
parent 6594ea560f
commit c5f3213245
5 changed files with 53 additions and 42 deletions

View File

@ -1870,7 +1870,7 @@ static int vc4_fkms_bind(struct device *dev, struct device *master, void *data)
fkms->bcm2711 = true; fkms->bcm2711 = true;
firmware_node = of_parse_phandle(dev->of_node, "brcm,firmware", 0); firmware_node = of_parse_phandle(dev->of_node, "brcm,firmware", 0);
vc4->firmware = rpi_firmware_get(firmware_node); vc4->firmware = devm_rpi_firmware_get(&pdev->dev, firmware_node);
if (!vc4->firmware) { if (!vc4->firmware) {
DRM_DEBUG("Failed to get Raspberry Pi firmware reference.\n"); DRM_DEBUG("Failed to get Raspberry Pi firmware reference.\n");
return -EPROBE_DEFER; return -EPROBE_DEFER;

View File

@ -1,32 +1,27 @@
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
/* x_tables module for matching the IPv4/IPv6 DSCP field /* x_tables module for setting the IPv4/IPv6 DSCP field
* *
* (C) 2002 Harald Welte <laforge@gnumonks.org> * (C) 2002 Harald Welte <laforge@gnumonks.org>
* based on ipt_FTOS.c (C) 2000 by Matthew G. Marsh <mgm@paktronix.com>
* This software is distributed under GNU GPL v2, 1991 * This software is distributed under GNU GPL v2, 1991
* *
* See RFC2474 for a description of the DSCP field within the IP Header. * See RFC2474 for a description of the DSCP field within the IP Header.
* *
* xt_dscp.h,v 1.3 2002/08/05 19:00:21 laforge Exp * xt_DSCP.h,v 1.7 2002/03/14 12:03:13 laforge Exp
*/ */
#ifndef _XT_DSCP_H #ifndef _XT_DSCP_TARGET_H
#define _XT_DSCP_H #define _XT_DSCP_TARGET_H
#include <linux/netfilter/xt_dscp.h>
#include <linux/types.h> #include <linux/types.h>
#define XT_DSCP_MASK 0xfc /* 11111100 */ /* target info */
#define XT_DSCP_SHIFT 2 struct xt_DSCP_info {
#define XT_DSCP_MAX 0x3f /* 00111111 */
/* match info */
struct xt_dscp_info {
__u8 dscp; __u8 dscp;
__u8 invert;
}; };
struct xt_tos_match_info { struct xt_tos_target_info {
__u8 tos_mask;
__u8 tos_value; __u8 tos_value;
__u8 invert; __u8 tos_mask;
}; };
#endif /* _XT_DSCP_H */ #endif /* _XT_DSCP_TARGET_H */

View File

@ -1,16 +1,34 @@
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
#ifndef _IPT_ECN_H /* Header file for iptables ipt_ECN target
#define _IPT_ECN_H *
* (C) 2002 by Harald Welte <laforge@gnumonks.org>
*
* This software is distributed under GNU GPL v2, 1991
*
* ipt_ECN.h,v 1.3 2002/05/29 12:17:40 laforge Exp
*/
#ifndef _IPT_ECN_TARGET_H
#define _IPT_ECN_TARGET_H
#include <linux/netfilter/xt_ecn.h> #include <linux/types.h>
#define ipt_ecn_info xt_ecn_info #include <linux/netfilter/xt_DSCP.h>
enum { #define IPT_ECN_IP_MASK (~XT_DSCP_MASK)
IPT_ECN_IP_MASK = XT_ECN_IP_MASK,
IPT_ECN_OP_MATCH_IP = XT_ECN_OP_MATCH_IP, #define IPT_ECN_OP_SET_IP 0x01 /* set ECN bits of IPv4 header */
IPT_ECN_OP_MATCH_ECE = XT_ECN_OP_MATCH_ECE, #define IPT_ECN_OP_SET_ECE 0x10 /* set ECE bit of TCP header */
IPT_ECN_OP_MATCH_CWR = XT_ECN_OP_MATCH_CWR, #define IPT_ECN_OP_SET_CWR 0x20 /* set CWR bit of TCP header */
IPT_ECN_OP_MATCH_MASK = XT_ECN_OP_MATCH_MASK,
#define IPT_ECN_OP_MASK 0xce
struct ipt_ECN_info {
__u8 operation; /* bitset of operations */
__u8 ip_ect; /* ECT codepoint of IPv4 header, pre-shifted */
union {
struct {
__u8 ece:1, cwr:1; /* TCP ECT bits */
} tcp;
} proto;
}; };
#endif /* IPT_ECN_H */ #endif /* _IPT_ECN_TARGET_H */

View File

@ -1,6 +1,6 @@
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
/* TTL modification module for IP tables /* IP tables module for matching the value of the TTL
* (C) 2000 by Harald Welte <laforge@netfilter.org> */ * (C) 2000 by Harald Welte <laforge@gnumonks.org> */
#ifndef _IPT_TTL_H #ifndef _IPT_TTL_H
#define _IPT_TTL_H #define _IPT_TTL_H
@ -8,14 +8,14 @@
#include <linux/types.h> #include <linux/types.h>
enum { enum {
IPT_TTL_SET = 0, IPT_TTL_EQ = 0, /* equals */
IPT_TTL_INC, IPT_TTL_NE, /* not equals */
IPT_TTL_DEC IPT_TTL_LT, /* less than */
IPT_TTL_GT, /* greater than */
}; };
#define IPT_TTL_MAXMODE IPT_TTL_DEC
struct ipt_TTL_info { struct ipt_ttl_info {
__u8 mode; __u8 mode;
__u8 ttl; __u8 ttl;
}; };

View File

@ -1,12 +1,11 @@
C Z6.0+pooncelock+poonceLock+pombonce C Z6.0+pooncelock+pooncelock+pombonce
(* (*
* Result: Never * Result: Sometimes
* *
* This litmus test demonstrates how smp_mb__after_spinlock() may be * This example demonstrates that a pair of accesses made by different
* used to ensure that accesses in different critical sections for a * processes each while holding a given lock will not necessarily be
* given lock running on different CPUs are nevertheless seen in order * seen as ordered by a third process not holding that lock.
* by CPUs not holding that lock.
*) *)
{} {}
@ -24,7 +23,6 @@ P1(int *y, int *z, spinlock_t *mylock)
int r0; int r0;
spin_lock(mylock); spin_lock(mylock);
smp_mb__after_spinlock();
r0 = READ_ONCE(*y); r0 = READ_ONCE(*y);
WRITE_ONCE(*z, 1); WRITE_ONCE(*z, 1);
spin_unlock(mylock); spin_unlock(mylock);