106329 Commits

Author SHA1 Message Date
trasz
f17bf6333d Fix error handling.
MFC after:	1 month
Sponsored by:	The FreeBSD Foundation
2015-02-05 07:16:45 +00:00
trasz
e9295a0f2d Make it possible to set (via iscsi.conf(5)) and query (via iscsictl -v)
initiator iSCSI offload.  Pass maximum data segment size supported by
chosen offload module to iscsid(8), and make iscsid(8) not try to negotiate
anything larger than that.

MFC after:	1 month
Sponsored by:	The FreeBSD Foundation
2015-02-05 06:37:59 +00:00
peter
bf625afa44 Initialize ticks so that it wraps 10 minutes after boot to increase the
chances of finding problems related to wraparound sooner.

This comes from P4 change 167856 on 2009/08/26 around when we had problems
with the TCP stack with ticks after 24 days of uptime.
2015-02-05 01:43:21 +00:00
peter
aba31cb691 Add -fwrapv to CFLAGS for the kernel. This essentially un-reverts r259045.
The C standard undefines behavior when signed integers overflow. The
compiler toolchain has become more adept at detecting this and taking
advantage of faster undefined behavior.  At the current time this has the
unfortunate effect of the clock stopping after 24 days of uptime.

clang makes no distinction between -fwrapv and -fno-strict-overflow.  gcc
does treat them differently but -fwrapv is mature in gcc and is the
behavior are actually expecting.

Obtained from:	kib
2015-02-05 01:36:53 +00:00
ken
2bf041e562 Add support for probing the SCSI VPD Extended Inquiry page (0x86).
This VPD page is effectively an extension of the standard Inquiry
data page, and includes lots of additional bits.

This commit includes support for probing the page in the SCSI probe code,
and an additional request type for the XPT_DEV_ADVINFO CCB.  CTL already
supports the Extended Inquiry page.

Support for querying this page in the sa(4) driver will come later.

sys/cam/scsi/scsi_xpt.c:
	Probe the Extended Inquiry page, if the device supports it, and
	return it in response to a XPT_DEV_ADVINFO CCB if it is requested.

sys/cam/scsi/cam_ccb.h:
	Define a new advanced information CCB data type, CDAI_TYPE_EXT_INQ.

sys/cam/cam_xpt.c:
	Free the extended inquiry data in a device when the device goes
	away.

sys/cam/cam_xpt_internal.h:
	Add an extended inquiry data pointer and length to struct cam_ed.

sys/sys/param.h
	Bump __FreeBSD_version for the addition of the new
	CDAI_TYPE_EXT_INQ advanced information type.

Sponsored by:	Spectra Logic
MFC after:	1 week
2015-02-05 00:12:21 +00:00
dim
dcbaa42a6d Mark typedefs for manually implementing _Static_assert() as unused, so
they won't show up unecessarily for -Wunused-local-typedefs.

MFC after:	3 days
2015-02-04 20:55:21 +00:00
arybchik
364932ee59 sfxge: Add macros to init, destroy, acquire, release and assert locks
Sponsored by:   Solarflare Communications, Inc.
Approved by:    gnn (mentor)
2015-02-04 20:03:57 +00:00
arybchik
8b7dd6cde0 sfxge: Implement EFSYS_MEM_READ_BARRIER()
Sponsored by:   Solarflare Communications, Inc.
Approved by:    gnn (mentor)
2015-02-04 19:58:54 +00:00
loos
5e95f6f1c9 Fix a bug where an interrupt could be masked unintentionally when
bus_config_intr() is called with the same interrupt type and polarity that
is already set.

Pointy hat:	loos
2015-02-04 18:35:49 +00:00
loos
67e162c6ce Add GPIO interrupt support for BCM2835 (Raspberry pi).
With this commit any of the GPIO pins can now be programmed to act as an
interrupt source for GPIO devices (i.e. limited to devices directly
attached to gpiobus - at least for now).

Differential Revision:	https://reviews.freebsd.org/D1000
2015-02-04 18:15:28 +00:00
loos
c849e86766 Sort and remove unnecessary includes. 2015-02-04 17:23:02 +00:00
loos
2d4837b5a0 Remove stale comments about the issues with HS mode.
Remove a previous workaround to limit the minimum sdhci frequency that
isn't needed anymore.
2015-02-04 16:36:51 +00:00
loos
e47af519e4 Remove some duplicate calls to bus_release_resource() and destroy the mutex
on error cases.

While here remove unnecessary includes.
2015-02-04 16:21:45 +00:00
imp
aca39148cc Fix typo
Submitted by: matteo@
2015-02-04 16:19:31 +00:00
imp
7c0a82925c Add comment about why checking for 0xff is OK. There's two bits in the
ISR that are normally clear. RST is one, though in some overflow cases
it can be set. RDC is only set when a remote DMA is finished from the
memory mapped memory to the transmit rings, which we poll fore in the
code with ED_LOCK around the operation that would set it.
2015-02-04 15:59:51 +00:00
kib
c87d139b47 Add ddb command 'show clocksource' to display state of the per-cpu
clock events.

Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
2015-02-04 14:49:47 +00:00
bryanv
7a68cf4e59 Add interface to derive a TSC frequency from the pvclock
This can later use this to determine the TSC frequency like is done with
VMware, instead of using a DELAY loop that is not always accurate in an VM.

MFC after:	1 month
2015-02-04 08:33:04 +00:00
bryanv
25ce9181cf Generalized parts of the XEN timer code into a generic pvclock
KVM clock shares the same data structures between the guest and the host
as Xen so it makes sense to just have a single copy of this code.

Differential Revision: https://reviews.freebsd.org/D1429
Reviewed by:	royger (eariler version)
MFC after:	1 month
2015-02-04 08:26:43 +00:00
pfg
8156f15777 MFV r266995:
4767 dtrace_probe() always has the timestamp

Reference:
https://illumos.org/issues/4767

Obtained from:	Illumos
MFC after:	2 weeks
2015-02-03 20:06:30 +00:00
pfg
8afbe75ac6 MFV r266993:
4469 DTrace helper tracing should be dynamic

Reference:
https://illumos.org/issues/4469

Obtained from:	Illumos
Phabric:	D1551
Reviewed by:	markj
MFC after:	2 weeks
2015-02-03 19:39:53 +00:00
imp
4d58bdef01 Silence a coverity warning about ignoring a return value. We do, but
we also know that it "can't fail" given the single-threaded nature of
device enumeration. Go ahead and check it just in case, but add a
comment.

CID: 1009393
Sponsored by: Netflix, Inc
2015-02-03 18:59:52 +00:00
mav
4bbf5a53e0 Bring some more order into iSCSI portal group tags support.
While ctld(8) still does not allow multiple portal groups per target
to be configured, kernel should now be able to handle it.

MFC after:	2 weeks
Sponsored by:	iXsystems, Inc.
2015-02-03 16:17:54 +00:00
emaste
fafaeb6502 Remove duplicate intel_fbc_enabled prototype
Fixed upstream in Linux commit 7ff0ebcc1e30e3216c8c62ee71f59ac830b10364

Differential Revision:	https://reviews.freebsd.org/D1762
Reviewed by:	hselasky, kib
Sponsored by:	The FreeBSD Foundation
2015-02-03 15:41:09 +00:00
kib
360ba91b98 If the vm_page_alloc_contig() failed in the ttm page allocators, do
what other callers of vm_page_alloc_contig() do, retry after
vm_pageout_grow_cache().

Sponsored by:	The FreeBSD Foundation
2015-02-03 13:45:06 +00:00
kib
40fc5bfda9 Do not access gmbus_ports array past its end.
Reported and tested by:	hselasky
Sponsored by:	The FreeBSD Foundation
2015-02-03 13:43:03 +00:00
kib
09bdd8a7f8 Remove duplicated assignment.
CID:	1267988
Sponsored by:	The FreeBSD Foundation
MFC after:	2 weeks
2015-02-03 12:09:48 +00:00
kib
d2d101f9c0 Followup to r278147. Two more sign errors.
Noted by:	hps
Sponsored by:	The FreeBSD Foundation
2015-02-03 11:34:18 +00:00
kib
074ff8c69c Fix sign for the error code returned from the driver-specific code.
Noted by:	hps
Sponsored by:	The FreeBSD Foundation
2015-02-03 10:46:07 +00:00
kib
6efdf5ae95 Do not attach to the unsupported chipsets, unless magic tunable is
frobbed.

Sponsored by:	The FreeBSD Foundation
2015-02-03 10:30:41 +00:00
kib
04052a24ca Fix use after free in pipe_dtor(). PIPE_NAMED flag must be tested
before pipeclose() is called, since for !PIPE_NAMED case, when peer is
already closed, the pipe pair memory is freed.

Submitted by:	luke.tw@gmail.com
PR:	197246
Tested by:	pho
MFC after:	3 days
2015-02-03 10:29:40 +00:00
markj
602435445d Continue to handle the case where state is NULL, though this currently
cannot happen on FreeBSD. r278136 overlooked the fact that a destructor
registered with devfs_set_cdevpriv(9) is invoked even in the case of an
error.

X-MFC-With:	r278136
2015-02-03 06:04:16 +00:00
markj
c436419aea Diff reduction with illumos, in preparation for merging r266993 from the
vendor branch. No functional change.

MFC after:	1 week
2015-02-03 05:38:52 +00:00
np
90487f1be9 Fix bug in idr_pre_get where it doesn't handle 'need' correctly.
Obtained from:	Chelsio Communications' internal repository.
2015-02-02 23:41:43 +00:00
mav
03db0c9a45 Retry indefinitely on SCSI BUSY status from VMware disks and CDs.
VMware returns BUSY status when storage has transient connectivity issues.
It is often better to wait and let VM admin fix the problem then crash.

Discussed with:	ken
MFC after:	1 week
2015-02-02 20:23:05 +00:00
loos
53c44a5b68 Register the GPIO controller device reference on xref table for FDT systems. 2015-02-02 19:22:34 +00:00
hselasky
c5880225ff Separate out detection of prevent and allow medium removal quirk.
PR:		185747
MFC after:	1 week
2015-02-02 18:20:10 +00:00
sbruno
fce5f51901 The linux driver code for the MDIO bus does a read-after-write
which seems to be required on MIPS74k platforms for correct
behaviour.

Reviewed by:	adrian
2015-02-02 17:33:00 +00:00
hselasky
cf831ba4af The flowid and hashtype should be copied from the originating packet
when fragmenting IP packets to preserve the order of the packets in a
stream. Else the resulting fragments can be sent out of order when the
hardware supports multiple transmit rings.

Reviewed by:	glebius @
MFC after:	1 week
Sponsored by:	Mellanox Technologies
2015-02-02 17:32:50 +00:00
pfg
a9fa41d648 rpc: Uninitialized pointer read
Initialize *xprt to avoid exposing a random value
in cleanup_svc_vc_create.
This is the kernel counterpart of r278041.

CID:		1007340
2015-02-02 16:07:07 +00:00
mav
5431db7086 Missed addition to r278098.
MFC after:	1 week
2015-02-02 16:06:23 +00:00
mav
bc216d8c4f Add some fields and constants from RFC7144.
MFC after:	1 week
2015-02-02 15:59:17 +00:00
hselasky
47e0756aa2 Optimise allocation of USB DMA structures. By default don't double map
allocations if only one element should be allocated per page
cache. Make one allocation per element compile time configurable. Fix
a comment while at it.

Suggested by:	ian @
MFC after:	1 week
2015-02-02 11:32:15 +00:00
hselasky
9ebeef8fb0 Section 3.2.9 in the XHCI specification about control transfers says
that we should use a normal-TRB if there are more TRBs extending the
data-stage TRB. Add a dedicated state bit to the internal USB transfer
flags to handle this case.

Reported by:	Kohji Okuno <okuno.kohji@jp.panasonic.com>
MFC after:	1 week
2015-02-02 11:06:41 +00:00
rpaulo
a2d0d4f6b1 am335x_clk_pruss_activate(): use the L3F clock.
The DISP DPLL clock is slower and was making the PRU programs slower
on FreeBSD than on Linux.

Submitted by:	Manuel Stuehn <freebsdnewbie at freenet.de>
MFC after:	1 week
2015-02-02 08:01:10 +00:00
smh
976cdd533d Prevent inlining txg_quiesce
This allows dtrace to monitor the calls to txg_quiesce which can be really
helpful.

Also standardise __noinline order for arc_kmem_reap_now.

Sponsored by:	Multiplay
2015-02-02 00:17:36 +00:00
mav
8adb86862b CTL LUN mapping rewrite.
Replace iSCSI-specific LUN mapping mechanism with new one, working for any
ports.  By default all ports are created without LUN mapping, exposing all
CTL LUNs as before.  But, if needed, LUN mapping can be manually set on
per-port basis via ctladm.  For its iSCSI ports ctld does it via ioctl(2).
The next step will be to teach ctld to work with FibreChannel ports also.

Respecting additional flexibility of the new mechanism, ctl.conf now allows
alternative syntax for LUN definition.  LUNs can now be defined in global
context, and then referenced from targets by unique name, as needed.  It
allows same LUN to be exposed several times via multiple targets.

While there, increase limit for LUNs per target in ctld from 256 to 1024.
Some initiators do not support LUNs above 255, but that is not our problem.

Discussed with:	trasz
MFC after:	2 weeks
Relnotes:	yes
Sponsored by:	iXsystems, Inc.
2015-02-01 21:50:28 +00:00
smh
0344979156 Add a quirk to limit AHCI MSI vectors to one
In 10.1-RELEASE the default number of MSI vectors used was changed from one
to as many vectors as the HW supports.

This change resulted in an ahci timeouts regression when running on AMD
SB7x0/SB8x0/SB9x0 hardware, so its now limited to 1 MSI by default using
this new quirk.

MFC after:	2 weeks
Sponsored by:	Multiplay
2015-02-01 20:00:08 +00:00
ian
a1d7d753f3 Do not skip setting the memory 'reg' property if the fdt data already
contains one.  Published dts source often includes a minimal default
memory definition and expects it to be overridden by the bootloader after
determining the actual physical memory in the system.
2015-02-01 18:21:16 +00:00
ian
bea8bd4cce Remove a stale comment. The logic that deleted the map before other
resources was removed long ago, but the comment stuck somehow.
2015-02-01 17:19:57 +00:00
nwhitehorn
2a6b615dd7 Allow this to work with disks greater than 4 GB and with names not beginning
with "s".
2015-02-01 02:02:50 +00:00