text:
A list by Geraldine Soh 🇨🇦 | sort by: latest
North Head LighthousePacific County, WashingtonThe North Head Lighthouse sits on a bluff high above the Pacific Ocean. Once a key navigational aid for mariners approaching the Columbia River... Deadman's CovePacific County, WashingtonThe stunning view of Deadman's Cove from the Cape Disappointment Light. June 2019 #Nature Cape Disapointment WashingtonPacific County, WashingtonBritish trader John Meares named it "Cape Disappointment" in 1788, due to his mistaken belief that the mouth of the Columbia River was only a bay.... Willapa National Wildlife RefugePacific County, WashingtonMudflats Willapa National Wildlife Refuge preserves many of unique ecosystems including salt marshes, muddy tideflats, rain drenched old growth... SpokaneWashingtonSunset in Spokane, Washington, with the Spokane Falls (Lower Falls) in the foreground. (June 2019) Cranberry MuseumLong Beach, WashingtonI always thought cranberries were grown in water, but they actually grow in bogs, which are an area of soft, marshy ground, usually near wetlands.... Scoops Ice Cream and CoffeeAberdeen, WashingtonOld gas station turned ice cream and coffee shop. (June 2019) SpokaneWashingtonThe Fox Theater in Spokane, Washington, is a 1931 Art Deco movie theater. It was designed by architect Robert C. Reamer, notable for his design of... PalisadesWashingtonThe palisades rock formations in Gifford Pinchot National Forest, Washington, formed thousands of years ago when a volcano erupted about nine miles... Upper Sunbeam FallsLewis County, WashingtonThis 75' high waterfall is located in Mount Rainier National Park. (June 2019) #Trovember St Paul's CathedralYakima, WashingtonThe architecture for the Spanish Colonial Revival style church, the first Mass on Easter Sunday, April 18, 1927. (June 2019) #Trovember LeavenworthWashingtonFront Street in Leavenworth, Washington. The entire town center is modeled on a Bavarian village as part of a civic initiative that began in the... Ritz TheatreRitzville, WashingtonOpened in 1937 with 400-seats, the Ritz Theatre sits at the edge of Ritzville's small downtown. In 2014, under new management, the seating capacity... MineralWashingtonMineral originally began as a mining town. Prospectors searching the area for gold instead found coal and arsenic. (June 2019) #Trovember Lake Sacajawea Park Japanese GardensLongview, WashingtonLake Sacajawea is a man-made lake in Longview, Washington. It is named after the Shoshone woman named Sacajawea who guided Meriwether Lewis and...
No photos have been added to this list.


text:
Downshire House | History Series
Posted by University of Roehampton on February 27, 2019 March 21, 2019
The early history and development of Downshire House is not clear but it is understood that work undertaken for General James Cholmondeley c.1770 can be associated with the building of the present house. Since 1770 the house has been much altered. From 1798 the house was owned by Arthur Hill, 2nd Marquess of Downshire until his death, by suicide, in 1801. It was the Marquess who commissioned Robert Furze Brettingham to carry out works on the house, hence Brettingham is often credited with designing the house.
Mary (née Sandys) Dowager Marchioness of Downshire then owned the property from 1802 until 1836. She spent most of her time at Hillsborough Castle in County Down and Ombersley Court, but she died at Downshire House in 1836. It was during this period that the house became known as Downshire House.
Downshire House, 1918 when the house was owned by Sir Stephen Gatty
The owner from 1912 to 1920 was Sir Stephen Herbert Gatty. He commissioned the architect Oswald P. Milne to create a formal garden to the north of Downshire House on the site where the Cedars had stood, the Cedars (another of Roehampton's Villas) was demolished sometime after 1910. Brick walls, stone balustrades with pineapples and a hipped-roof summerhouse with paired columns all survive from Gatty's garden and were restored during the redevelopment work in 2016.
Downshire House c. 1960 when owned by the London County Council
By 1949 Downshire House was the last of the Roehampton Villas to be used as a private residence. In 1950 the buildings and grounds were purchased by the London County Council as part of the Alton West Development. Outbuildings were demolished but the LCC preserved the Georgian house and it has been in educational use since 1963.
Downshire House 2017, University of Roehampton
The existing building is of three storeys, six bays plus a north wing with bay-window, probably an addition. The most notable interior room is the central hall with a black and white marble floor and a Rococo plaster frame over the fireplace. The stair-hall is all 20th century, but in the south-west room there is an exquisite late 18th century frieze. The long narrow central room, facing the garden, has shallow 20th century bow-windows flanked by two shell niches of early 18th century character – possibly reused.
The University of Roehampton changes lives by helping our students to develop the confidence, knowledge and values they need for a successful and fulfilling life. We produce world-class research that helps us understand the world and change it for the better.
Previous Post Campus Wildlife | 2018 Review
Next Post Societies at Roehampton | Oscar Villalobos III
Veganuary Recipes | The Hive Café
Dissertation Survival Guide
5 healthy ways to kick-start your 2020
Graduation: what you need to know
Raise a G.L.A.S.S | Isobel Rafferty

redpajama_set_name: RedPajamaCommonCrawl


text:
The Per Fumum Endowment Fund gives the floor to Erwan Poivet, Doctor from the Institut Pasteur
admin@perfumum 30 April 2021 2 July 2021
Interview of Erwan POIVET, member of the Perception & Memory Unit of the Institut Pasteur
Erwan Poivet, Organism Biology Doctor, joined at the beginning of October, thanks to the patronage of the Per Fumum Endowment Fund, the Perception and Memory Unit of the Institut Pasteur headed by the Professor Lledo. This team works in particular on neurological damages linked to the virus responsible for Covid-19, and in particular at the level of the olfactory cortex.
Throughout his career, his research has focused on several problematics related to olfaction, both in France and in the United States. It is therefore his mastery of various innovative olfactory mechanisms and his knowledge of a wide variety of fundamental research on the sense of smell that Professor Lledo has annexed by asking him to join the project.
In the intimacy of the very confidential laboratory of the Perception and Memory Unit of the Pasteur Institute, Erwan Poivet answers us:
Erwan, what do you think you really bring to the project team, surrounded by all these experts?
Erwan Poivet: "Generally speaking, research is an individual sport that you have to play as a team! Personally, I have a Doctorate in Organism Biology, and I am a specialist in olfaction; but my research work has always been at the frontier of several specialties. I am therefore used to communicating with experts from very diverse disciplines (chemists, biologists, perfumers, and even historians and philosophers!) who do not always speak the same language, or do not approach problems in the same way.
However, the success of a project often depends on the good circulation of information. So in addition to my scientific expertise in the olfactory system, I bring my ability to build bridges between their specialities".
What can you tell us about the difficulties you are encountering in the progress of the project?
E.P : "The current situation linked to the Covid-19 pandemic is obviously the first brake; but independently of this crisis, in clinical research there are many obligations prior to any research.
In particular, our experimental protocols must be validated by an ethics committee before they can be implemented. This is normal and important, to ensure that the patient's interest is protected. In this respect, the experience of the project's doctors is a certain asset to guarantee the validation of our approaches by these ethics committees beforehand.
Once this validation has been obtained, there are three difficulties to overcome:
Firstly, from a technical and scientific point of view, olfaction is usually less studied than other senses such as hearing or vision. This bias is also true in the care and follow-up provided to the patient in intensive care.
Erwan POIVET – Photo credit : Institut Pasteur/François Gardy
Secondly, existing olfactory tools are not developed for unconscious patients. We therefore have to adapt the available tools or develop our own tools and protocols accordingly, and this can take some time. This is the disadvantage, but also the charm of being a pioneer. It is also in this context that multidisciplinarity is a real advantage.
Finally, the laboratory's expertise in olfactometry is developed for the mouse, so we have to adapt the tools for humans, but this enables us to find solutions in terms of portability and miniaturization which are not negligible when it comes to integrating medical equipment already present in the intensive care unit, for example".
What is your objective? What will be a sign of success for you?
E.P: "The primary objective of the C.E.O.S project is to develop a new standard for diagnosing the state of consciousness of patients in intensive care, based on the analysis of their olfactory capacity. This is truly innovative. Obtaining a usable olfactory response in patients would be a first success. To be able to link this olfactory response to a prognosis of the patient's future waking up would be a total success."
In which ways was the patronage of the Per Fumum Endowment Fund important? What has it achieved?
E.P: "This patronage is important for two reasons: first, because it allows us to work on olfaction, which is a sense often neglected by science, and secondly, the Per Fumum Endowment Fund also allows us to have access to perfumers to exchange. During a previous postdoctorate in the United States, I had the chance to work with perfumers and I know that their knowledge of odorous compounds and their perception is often complementary to our "classic" scientific knowledge on the subject.
It was therefore a precious meeting with the Per Fumum Endowment Fund and its president, the perfumer Francis Kurkdjian."
Category: Against COVID with the Institut Pasteur
admin@perfumum


The Centre for the Less Good Idea's website. Screenshot, February 20, 2017.
William Kentridge has started an arts nonprofit dedicated to experimental projects. Called The Centre for the Less Good Idea, the Johannesburg-based organization will facilitate a series of performance-based installations March 1-5 of this year. "I want to start a small art centre, where people could do experimental art, productions, operas, things they wouldn't get to do elsewhere," the artist told The Financial Times in a September interview.
Mark Bradford launched a new website for his upcoming exhibition, Tomorrow is Another Day, at this summer's Venice Biennale.
Artists El Anatsui, Yinka Shonibare, and Rashid Johnson all donated works to benefit the Zeitz Museum of Contemporary Art Africa in Cape Town, scheduled to open in September.
Thursday, February 23 | 6:30-8pm—Catherine Opie will discuss her life and work at the Annenberg Space for Photography as part of the Iris Nights Lecture Series.
Diana Al-Hadid's Liquid City is opening on Friday at the San Jose Museum of Art, where it will remain on view through September 24.
Diana Thater's nine-monitor video installation Starry Messenger is opening on Friday, February 24 at Rice University's Moody Center for the Arts. The work pays tribute to Houston as a city at the forefront of space exploration, and will remain on view through February 2018.
Traumata: Bourgeois / Kusama pairs work by Louise Bourgeois and Yayoi Kusama and is opening Thursday at Sotheby's S|2 gallery.
Primary Structures: Masterworks of Minimal Art is opening on Wednesday at MMK Museum für Moderne Kunst Frankfurt am Main. Featuring artists Dan Flavin, Isa Genzken, Donald Judd, Ellsworth Kelly, Joseph Kosuth, Robert Mangold, Bruce Nauman, Robert Ryman, and Richard Serra, among others, the exhibition is on view through August 13.
This is the last week to see Joan Jonas' Reanimation Detail, 2010 / 2012 at the National Gallery of Iceland. The exhibition closes this Sunday, February 26.


text:
Sundastork (Ciconia stormi) är en starkt hotad sydöstasiatisk stork. Den är med under 500 individer kvar i världen den mest sällsynta av storkarna.

Utseende

Sundastorken blir mellan 75 och 90 centimeter lång med en svartvit fjäderdräkt, en röd näbb och ett orange ansikte med gula fläckar vid ögonen. Liknande asiatisk ullhalsstork (Ciconia episcopus) har vit framhals istället för svart, mörk näbb och inre vingtäckarna är bronsaktigt färgade.

Utbredning
Fågeln är känd från allra sydligaste Thailand, Malackahalvön, Sumatra och Borneo. På Malackahalvön finns bara en enda mycket liten population. Den troddes vara utdöd i Thailand fram till 2004 när en fågel fångades på bild i skogsområdet Klong Saeng-Khao Sok. Kärnan i utbredningsområdet är Sumatra, indonesiska delen av Borneo samt Brunei. Den lever på Borneo och Sumatra samt i södra Thailand, västra Malaysia och Brunei.

Ekologi
Fågeln föredrar sumpiga områden i närheten av skog, gärna mark som översvämmas av flodvatten. Den livnär sig huvudsakligen av fisk, men troligen också reptiler, amfibier och insekter samt möjligen krabbor. Artens födosökningsbeteende är dåligt känt, men är troligen likt dess nära släktingar asiatisk ullhalsstork och svart stork. Den lever troligen mest ensam även om den tillfälligtvis har setts i små grupp om upp till sju individer, vid ett tillfälle i Brunei tolv individer.

Arten tros börja häckningen i augusti-september, åtminstone i Borneo där en nyss flygg unge hittats i november. Endast två bon med ungar har hittills hittats. Den häckar inte i kolonier utan parvis i träd. Fågeln lägger två till tre ägg som ruvas av båda föräldrar i mindre än 29 dagar. Ungarna blir flygga efter 57 dagar.

Status och hot
Artens världspopulation tros bestå av färre än 500 individer, varav 150 i Malaysia och 250 i Indonesien, och den tros minska snabbt i antal. Internationella naturvårdsunionen IUCN kategoriserar den därför som starkt hotad. Det mest akuta hotet mot sundastorken är förstörelse av dess habitat, främst av skogsavverkning, dammbyggen och uppodling i form av oljepalmsplantager.

Namn
Fågelns svenska och vetenskapliga artnamn hedrar Theodor Hugo Storm (1850–1927), en tysk marinofficer och samlare i Ostindien som emigrerade till USA 1893. (Ej att förväxla med den tyske juristen och författaren Theodor Storm, 1817–1888.) På svenska har den även kallats rödnäbbad ullhalsstork och Storms stork.

Referenser
Delar av denna artikel baserar sig på en översättning från tyska Wikipedia. Läst 2 september 2006.

Noter

Externa länkar

Storkar
Fåglar i orientaliska regionen

redpajama_set_name: RedPajamaWikipedia


text:
venice for beginners
lagoon and islands
discoveries and kids
contemporary art & photographic tours
venetian lifestyle
connoisseurs' venice
Padua, Vicenza, Verona & Dolomites
Living in Renaissance Venice
A Venetian "Palazzo": Ca' Rezzonico and the 18th century
Venice and the Jews
Venice and the Plague
Venice history for families: Two legendary Venetians
500 years of Venetian painting - A visit to the Accademia Galleries
The Venetian School of Color: Frari and San Rocco
From Gothic to Renaissance
An architectural Tour: from Renaissance to Neoclassicism
Titian & Tintoretto: a Tale of Passion and Power
Venice: the Power of the Past, the everlasting Myth
Unfolding Venice, on foot and by boat
Highlights of this tour
Gallerie dell'Accademia
The 24 rooms of the Accademia Galleries offer an extraordinary overview on Venetian painting, ranging from the 14th century with Paolo Veneziano's jewel-like altar-pieces, through the enchanting tales of Gentile Bellini and Carpaccio, to the Golden Age of Giorgione. Titian, Tintoretto, Veronese, are followed by 18th century paintings by Tiepolo, Francesco Guardi, Pietro Longhi and Canaletto.
You will learn to see the world through "Venetian eyes," as an enchanting land of radiant colors; where man and nature, spirit and senses, are glowing forever in splendid harmony.
Our guide will explain the historic, socio-political, and economic backgrounds that assisted such artistic output, and will stress the peculiarities of Venetian painting as compared to other Italian and European schools.
Particular attention will be given to the Renaissance period, especially the work of Giovanni Bellini, Carpaccio, Giorgione, Titian, Lorenzo Lotto, Paolo Veronese, and Jacopo Tintoretto.
Also, we will explore the perception of Venice as seen through the eyes of its painters in the cycles of San Giovanni Evangelista and Saint Ursula.
Cycle of Saint Ursula by Vettore Carpaccio
Cycle of San Giovanni Evangelista by G. Bellini, Carpaccio, and others Giovanni Bellini Sacra Conversazione from San Giobbe
The Tempest by Giorgione
Portait of a Young Man by Lorenzo Lotto The Miracle of the Slave by Tintoretto
The Banket in the House of Levi by Paolo Veronese
Titian's Pieta'
More about this tour
The Accademia Galleries house the most important collection of Venetian painting in the world.
The great majority of the paintings exhibited come from churches, monastic institutions, lay brotherhoods (known as "scuole" in Venice) which had been suppressed or even demolished during the Napoleonic dominion.
The illuministic idea of a public museum where art had to be accessible to anyone was in fact used by Napoleon to justify the transfer of many masterpieces to the Louvre, just a few of which were given back.
Many Venetian artworks were also sent to the Brera Academy in Milan and never returned.
The paintings that remained in Venice were to be used mostly for didactic purposes by the Fine Arts Academy students.
The collection, moved to the present complex of buildings by 1807, was then enriched through the years: some paintings were given back by the Louvre, some arrived thanks to private donations and others, including the Tempest by Giorgione, were acquired by the museum mostly during the 20th century.
The Galleries are currently undergoing a long restoration, started in 2005 and not yet concluded. Although paintings are frequently being moved, most of the famous pieces are always visible and important temporary exhibitions are being held.
Cost of this tour
Cost of this tour This tour lasts three hours and costs 280 euros up to six people (not per person), only private parties. For larger parties send us an email!
Museum fees per person:
Gallerie dell'Accademia: 12 euros (full rate) - 6 euros (reduced rate)
How to book Dress code and advice
Dress code and advice No dress code.AS there are not many seats inside thr Galleries, please wear comfortable shoes.
The Accademia Galleries are closed on Monday afternoons.


Adware and Spyware What is the Difference?
remove the advertising by paying a fee for the program or service.
about, and came away with 3 new spyware programs just from the main page!
Internet connection will seem very slow.
License Agreement from a software program linked to the spyware.
I have had calls from users who try to start a word processing program, only to have it disappear after the initial logo screen.
background, eating up their system resources and preventing the legitimate program from being able to start.


Alimar provides the highest quality, factory-like repairs on Motorola VME CPU's and associated parts.
Alimar's customers range from Government Agencies, Prime Contractors, Sub contractors, small & large businesses, scientific & technical groups, educational & industrial organizations who know and rely on Hewlett Packard, Motorola MVME & Sun Micro solid systems, who have found our remanufactured systems provide the same productivity, with maximum reliability, efficiency and economy.
Business leaders & corporate buyers seek out reliable companies to provide high quality repairs, service and support. Alimar prides itself in striving to win your business and trust by providing the highest level of customer care you expect from a true business partner.


Kumquats are a group of small fruit-bearing trees in the flowering plant family Rutaceae.
Although kumquats are considered a type of citrus, they are actually classified under the genus Fortunella.
The kumquat plant is native to south Asia and the Asia-Pacific region.
The earliest historical reference to kumquats appears in literature of China from the 12th century.
They have long been cultivated in India, Japan, Taiwan, the Philippines, and southeast Asia.
They were introduced to Europe in 1846 by Robert Fortune, collector for the London Horticultural Society, and shortly thereafter were brought to North America.
Kumquat plants reach about 2.4 to 3.6 meters (8 to 12 feet) high.
The branches are mainly thornless and have glossy dark green leaves and white flowers, occurring singly or clustered in the leaf axils.
The bright orange-yellow fruit is round or oval, about 2.5 cm (1 inch) in diameter. Depending on size, the kumquat tree can produce hundreds or even thousands of fruits each year.
Kumquat fruits are ready to go when you pluck them off the tree and eat away. The paper-thin skin is where the sugar lies, and there's virtually no bitter pith. The flesh is extremely, mouth-puckeringly, sour. The seeds, while sometimes a bit crunchy, are small and edible.
The fruits are popularly eaten raw, or as a garnish, or even cooked, candied, or made into jams, jellies, or marmalades. Many chefs also pickle and preserve them in sugar, salt, or vinegar and use them as condiments for other dishes.
There are 71 calories in 100 grams (3.5 ounces) of kumquats.
This fruit is a good source of antioxidant vitamins including : vitamin A vitamin C and vitamin E and B-complex vitamins. They are also good source of flavonoid antioxidants like carotenes, lutein, zeaxanthin and tannins minerals like calcium, copper, potassium, manganese, iron, selenium and zinc.
In Chinese and Vietnamese cuisine, kumquats are often smashed with honey, ginger, or even salt and made into a tisane to heal colds and flu.
The essential oil of the kumquat peel contains much of the aroma of the fruit, and is composed principally of limonene, which makes up around 93% of the total.


text:
/*
 * Your platform definitions should specify module ram offsets and interrupt
 * number to use as follows:
 *
 * static struct ti_hecc_platform_data am3517_evm_hecc_pdata = {
 *         .scc_hecc_offset        = 0,
 *         .scc_ram_offset         = 0x3000,
 *         .hecc_ram_offset        = 0x3000,
 *         .mbx_offset             = 0x2000,
 *         .int_line               = 0,
 *         .revision               = 1,
 *         .transceiver_switch     = hecc_phy_control,
 * };
 *
 * Please see include/linux/can/platform/ti_hecc.h for description of
 * above fields.
 *
 */

#include <linux/module.h>
#include <linux/init.h>
#include <linux/kernel.h>
#include <linux/types.h>
#include <linux/interrupt.h>
#include <linux/errno.h>
#include <linux/netdevice.h>
#include <linux/skbuff.h>
#include <linux/platform_device.h>
#include <linux/clk.h>
#include <linux/io.h>

#include <linux/can/dev.h>
#include <linux/can/error.h>
#include <linux/can/platform/ti_hecc.h>

#define DRV_NAME "ti_hecc"
#define HECC_MODULE_VERSION     "0.7"
MODULE_VERSION(HECC_MODULE_VERSION);
#define DRV_DESC "TI High End CAN Controller Driver " HECC_MODULE_VERSION

/* TX / RX Mailbox Configuration */
#define HECC_MAX_MAILBOXES	32	/* hardware mailboxes - do not change */
#define MAX_TX_PRIO		0x3F	/* hardware value - do not change */

/*
 * Important Note: TX mailbox configuration
 * TX mailboxes should be restricted to the number of SKB buffers to avoid
 * maintaining SKB buffers separately. TX mailboxes should be a power of 2
 * for the mailbox logic to work.  Top mailbox numbers are reserved for RX
 * and lower mailboxes for TX.
 *
 * HECC_MAX_TX_MBOX	HECC_MB_TX_SHIFT
 * 4 (default)		2
 * 8			3
 * 16			4
 */
#define HECC_MB_TX_SHIFT	2 /* as per table above */
#define HECC_MAX_TX_MBOX	BIT(HECC_MB_TX_SHIFT)

#define HECC_TX_PRIO_SHIFT	(HECC_MB_TX_SHIFT)
#define HECC_TX_PRIO_MASK	(MAX_TX_PRIO << HECC_MB_TX_SHIFT)
#define HECC_TX_MB_MASK		(HECC_MAX_TX_MBOX - 1)
#define HECC_TX_MASK		((HECC_MAX_TX_MBOX - 1) | HECC_TX_PRIO_MASK)
#define HECC_TX_MBOX_MASK	(~(BIT(HECC_MAX_TX_MBOX) - 1))
#define HECC_DEF_NAPI_WEIGHT	HECC_MAX_RX_MBOX

/*
 * Important Note: RX mailbox configuration
 * RX mailboxes are further logically split into two - main and buffer
 * mailboxes. The goal is to get all packets into main mailboxes as
 * driven by mailbox number and receive priority (higher to lower) and
 * buffer mailboxes are used to receive pkts while main mailboxes are being
 * processed. This ensures in-order packet reception.
 *
 * Here are the recommended values for buffer mailbox. Note that RX mailboxes
 * start after TX mailboxes:
 *
 * HECC_MAX_RX_MBOX		HECC_RX_BUFFER_MBOX	No of buffer mailboxes
 * 28				12			8
 * 16				20			4
 */

#define HECC_MAX_RX_MBOX	(HECC_MAX_MAILBOXES - HECC_MAX_TX_MBOX)
#define HECC_RX_BUFFER_MBOX	12 /* as per table above */
#define HECC_RX_FIRST_MBOX	(HECC_MAX_MAILBOXES - 1)
#define HECC_RX_HIGH_MBOX_MASK	(~(BIT(HECC_RX_BUFFER_MBOX) - 1))

/* TI HECC module registers */
#define HECC_CANME		0x0	/* Mailbox enable */
#define HECC_CANMD		0x4	/* Mailbox direction */
#define HECC_CANTRS		0x8	/* Transmit request set */
#define HECC_CANTRR		0xC	/* Transmit request */
#define HECC_CANTA		0x10	/* Transmission acknowledge */
#define HECC_CANAA		0x14	/* Abort acknowledge */
#define HECC_CANRMP		0x18	/* Receive message pending */
#define HECC_CANRML		0x1C	/* Remote message lost */
#define HECC_CANRFP		0x20	/* Remote frame pending */
#define HECC_CANGAM		0x24	/* SECC only:Global acceptance mask */
#define HECC_CANMC		0x28	/* Master control */
#define HECC_CANBTC		0x2C	/* Bit timing configuration */
#define HECC_CANES		0x30	/* Error and status */
#define HECC_CANTEC		0x34	/* Transmit error counter */
#define HECC_CANREC		0x38	/* Receive error counter */
#define HECC_CANGIF0		0x3C	/* Global interrupt flag 0 */
#define HECC_CANGIM		0x40	/* Global interrupt mask */
#define HECC_CANGIF1		0x44	/* Global interrupt flag 1 */
#define HECC_CANMIM		0x48	/* Mailbox interrupt mask */
#define HECC_CANMIL		0x4C	/* Mailbox interrupt level */
#define HECC_CANOPC		0x50	/* Overwrite protection control */
#define HECC_CANTIOC		0x54	/* Transmit I/O control */
#define HECC_CANRIOC		0x58	/* Receive I/O control */
#define HECC_CANLNT		0x5C	/* HECC only: Local network time */
#define HECC_CANTOC		0x60	/* HECC only: Time-out control */
#define HECC_CANTOS		0x64	/* HECC only: Time-out status */
#define HECC_CANTIOCE		0x68	/* SCC only:Enhanced TX I/O control */
#define HECC_CANRIOCE		0x6C	/* SCC only:Enhanced RX I/O control */

/* Mailbox registers */
#define HECC_CANMID		0x0
#define HECC_CANMCF		0x4
#define HECC_CANMDL		0x8
#define HECC_CANMDH		0xC

#define HECC_SET_REG		0xFFFFFFFF
#define HECC_CANID_MASK		0x3FF	/* 18 bits mask for extended id's */
#define HECC_CCE_WAIT_COUNT     100	/* Wait for ~1 sec for CCE bit */

#define HECC_CANMC_SCM		BIT(13)	/* SCC compat mode */
#define HECC_CANMC_CCR		BIT(12)	/* Change config request */
#define HECC_CANMC_PDR		BIT(11)	/* Local Power down - for sleep mode */
#define HECC_CANMC_ABO		BIT(7)	/* Auto Bus On */
#define HECC_CANMC_STM		BIT(6)	/* Self test mode - loopback */
#define HECC_CANMC_SRES		BIT(5)	/* Software reset */

#define HECC_CANTIOC_EN		BIT(3)	/* Enable CAN TX I/O pin */
#define HECC_CANRIOC_EN		BIT(3)	/* Enable CAN RX I/O pin */

#define HECC_CANMID_IDE		BIT(31)	/* Extended frame format */
#define HECC_CANMID_AME		BIT(30)	/* Acceptance mask enable */
#define HECC_CANMID_AAM		BIT(29)	/* Auto answer mode */

#define HECC_CANES_FE		BIT(24)	/* form error */
#define HECC_CANES_BE		BIT(23)	/* bit error */
#define HECC_CANES_SA1		BIT(22)	/* stuck at dominant error */
#define HECC_CANES_CRCE		BIT(21)	/* CRC error */
#define HECC_CANES_SE		BIT(20)	/* stuff bit error */
#define HECC_CANES_ACKE		BIT(19)	/* ack error */
#define HECC_CANES_BO		BIT(18)	/* Bus off status */
#define HECC_CANES_EP		BIT(17)	/* Error passive status */
#define HECC_CANES_EW		BIT(16)	/* Error warning status */
#define HECC_CANES_SMA		BIT(5)	/* suspend mode ack */
#define HECC_CANES_CCE		BIT(4)	/* Change config enabled */
#define HECC_CANES_PDA		BIT(3)	/* Power down mode ack */

#define HECC_CANBTC_SAM		BIT(7)	/* sample points */

#define HECC_BUS_ERROR		(HECC_CANES_FE | HECC_CANES_BE |\
				HECC_CANES_CRCE | HECC_CANES_SE |\
				HECC_CANES_ACKE)

#define HECC_CANMCF_RTR		BIT(4)	/* Remote transmit request */

#define HECC_CANGIF_MAIF	BIT(17)	/* Message alarm interrupt */
#define HECC_CANGIF_TCOIF	BIT(16) /* Timer counter overflow int */
#define HECC_CANGIF_GMIF	BIT(15)	/* Global mailbox interrupt */
#define HECC_CANGIF_AAIF	BIT(14)	/* Abort ack interrupt */
#define HECC_CANGIF_WDIF	BIT(13)	/* Write denied interrupt */
#define HECC_CANGIF_WUIF	BIT(12)	/* Wake up interrupt */
#define HECC_CANGIF_RMLIF	BIT(11)	/* Receive message lost interrupt */
#define HECC_CANGIF_BOIF	BIT(10)	/* Bus off interrupt */
#define HECC_CANGIF_EPIF	BIT(9)	/* Error passive interrupt */
#define HECC_CANGIF_WLIF	BIT(8)	/* Warning level interrupt */
#define HECC_CANGIF_MBOX_MASK	0x1F	/* Mailbox number mask */
#define HECC_CANGIM_I1EN	BIT(1)	/* Int line 1 enable */
#define HECC_CANGIM_I0EN	BIT(0)	/* Int line 0 enable */
#define HECC_CANGIM_DEF_MASK	0x700	/* only busoff/warning/passive */
#define HECC_CANGIM_SIL		BIT(2)	/* system interrupts to int line 1 */

/* CAN Bittiming constants as per HECC specs */
static struct can_bittiming_const ti_hecc_bittiming_const = {
	.name = DRV_NAME,
	.tseg1_min = 1,
	.tseg1_max = 16,
	.tseg2_min = 1,
	.tseg2_max = 8,
	.sjw_max = 4,
	.brp_min = 1,
	.brp_max = 256,
	.brp_inc = 1,
};

struct ti_hecc_priv {
	struct can_priv can;	/* MUST be first member/field */
	struct napi_struct napi;
	struct net_device *ndev;
	struct clk *clk;
	void __iomem *base;
	u32 scc_ram_offset;
	u32 hecc_ram_offset;
	u32 mbx_offset;
	u32 int_line;
	spinlock_t mbx_lock; /* CANME register needs protection */
	u32 tx_head;
	u32 tx_tail;
	u32 rx_next;
	void (*transceiver_switch)(int);
};

static inline int get_tx_head_mb(struct ti_hecc_priv *priv)
{
	return priv->tx_head & HECC_TX_MB_MASK;
}

static inline int get_tx_tail_mb(struct ti_hecc_priv *priv)
{
	return priv->tx_tail & HECC_TX_MB_MASK;
}

static inline int get_tx_head_prio(struct ti_hecc_priv *priv)
{
	return (priv->tx_head >> HECC_TX_PRIO_SHIFT) & MAX_TX_PRIO;
}

static inline void hecc_write_lam(struct ti_hecc_priv *priv, u32 mbxno, u32 val)
{
	__raw_writel(val, priv->base + priv->hecc_ram_offset + mbxno * 4);
}

static inline void hecc_write_mbx(struct ti_hecc_priv *priv, u32 mbxno,
	u32 reg, u32 val)
{
	__raw_writel(val, priv->base + priv->mbx_offset + mbxno * 0x10 +
			reg);
}

static inline u32 hecc_read_mbx(struct ti_hecc_priv *priv, u32 mbxno, u32 reg)
{
	return __raw_readl(priv->base + priv->mbx_offset + mbxno * 0x10 +
			reg);
}

static inline void hecc_write(struct ti_hecc_priv *priv, u32 reg, u32 val)
{
	__raw_writel(val, priv->base + reg);
}

static inline u32 hecc_read(struct ti_hecc_priv *priv, int reg)
{
	return __raw_readl(priv->base + reg);
}

static inline void hecc_set_bit(struct ti_hecc_priv *priv, int reg,
	u32 bit_mask)
{
	hecc_write(priv, reg, hecc_read(priv, reg) | bit_mask);
}

static inline void hecc_clear_bit(struct ti_hecc_priv *priv, int reg,
	u32 bit_mask)
{
	hecc_write(priv, reg, hecc_read(priv, reg) & ~bit_mask);
}

static inline u32 hecc_get_bit(struct ti_hecc_priv *priv, int reg, u32 bit_mask)
{
	return (hecc_read(priv, reg) & bit_mask) ? 1 : 0;
}

static int ti_hecc_get_state(const struct net_device *ndev,
	enum can_state *state)
{
	struct ti_hecc_priv *priv = netdev_priv(ndev);

	*state = priv->can.state;
	return 0;
}

static int ti_hecc_set_btc(struct ti_hecc_priv *priv)
{
	struct can_bittiming *bit_timing = &priv->can.bittiming;
	u32 can_btc;

	can_btc = (bit_timing->phase_seg2 - 1) & 0x7;
	can_btc |= ((bit_timing->phase_seg1 + bit_timing->prop_seg - 1)
			& 0xF) << 3;
	if (priv->can.ctrlmode & CAN_CTRLMODE_3_SAMPLES) {
		if (bit_timing->brp > 4)
			can_btc |= HECC_CANBTC_SAM;
		else
			dev_warn(priv->ndev->dev.parent, "WARN: Triple" \
				"sampling not set due to h/w limitations");
	}
	can_btc |= ((bit_timing->sjw - 1) & 0x3) << 8;
	can_btc |= ((bit_timing->brp - 1) & 0xFF) << 16;

	/* ERM being set to 0 by default meaning resync at falling edge */

	hecc_write(priv, HECC_CANBTC, can_btc);
	dev_info(priv->ndev->dev.parent, "setting CANBTC=%#x\n", can_btc);

	return 0;
}

static void ti_hecc_transceiver_switch(const struct ti_hecc_priv *priv,
					int on)
{
	if (priv->transceiver_switch)
		priv->transceiver_switch(on);
}

static void ti_hecc_reset(struct net_device *ndev)
{
	u32 cnt;
	struct ti_hecc_priv *priv = netdev_priv(ndev);

	dev_dbg(ndev->dev.parent, "resetting hecc ...\n");
	hecc_set_bit(priv, HECC_CANMC, HECC_CANMC_SRES);

	/* Set change control request and wait till enabled */
	hecc_set_bit(priv, HECC_CANMC, HECC_CANMC_CCR);

	/*
	 * INFO: It has been observed that at times CCE bit may not be
	 * set and hw seems to be ok even if this bit is not set so
	 * timing out with a timing of 1ms to respect the specs
	 */
	cnt = HECC_CCE_WAIT_COUNT;
	while (!hecc_get_bit(priv, HECC_CANES, HECC_CANES_CCE) && cnt != 0) {
		--cnt;
		udelay(10);
	}

	/*
	 * Note: On HECC, BTC can be programmed only in initialization mode, so
	 * it is expected that the can bittiming parameters are set via ip
	 * utility before the device is opened
	 */
	ti_hecc_set_btc(priv);

	/* Clear CCR (and CANMC register) and wait for CCE = 0 enable */
	hecc_write(priv, HECC_CANMC, 0);

	/*
	 * INFO: CAN net stack handles bus off and hence disabling auto-bus-on
	 * hecc_set_bit(priv, HECC_CANMC, HECC_CANMC_ABO);
	 */

	/*
	 * INFO: It has been observed that at times CCE bit may not be
	 * set and hw seems to be ok even if this bit is not set so
	 */
	cnt = HECC_CCE_WAIT_COUNT;
	while (hecc_get_bit(priv, HECC_CANES, HECC_CANES_CCE) && cnt != 0) {
		--cnt;
		udelay(10);
	}

	/* Enable TX and RX I/O Control pins */
	hecc_write(priv, HECC_CANTIOC, HECC_CANTIOC_EN);
	hecc_write(priv, HECC_CANRIOC, HECC_CANRIOC_EN);

	/* Clear registers for clean operation */
	hecc_write(priv, HECC_CANTA, HECC_SET_REG);
	hecc_write(priv, HECC_CANRMP, HECC_SET_REG);
	hecc_write(priv, HECC_CANGIF0, HECC_SET_REG);
	hecc_write(priv, HECC_CANGIF1, HECC_SET_REG);
	hecc_write(priv, HECC_CANME, 0);
	hecc_write(priv, HECC_CANMD, 0);

	/* SCC compat mode NOT supported (and not needed too) */
	hecc_set_bit(priv, HECC_CANMC, HECC_CANMC_SCM);
}

static void ti_hecc_start(struct net_device *ndev)
{
	struct ti_hecc_priv *priv = netdev_priv(ndev);
	u32 cnt, mbxno, mbx_mask;

	/* put HECC in initialization mode and set btc */
	ti_hecc_reset(ndev);

	priv->tx_head = priv->tx_tail = HECC_TX_MASK;
	priv->rx_next = HECC_RX_FIRST_MBOX;

	/* Enable local and global acceptance mask registers */
	hecc_write(priv, HECC_CANGAM, HECC_SET_REG);

	/* Prepare configured mailboxes to receive messages */
	for (cnt = 0; cnt < HECC_MAX_RX_MBOX; cnt++) {
		mbxno = HECC_MAX_MAILBOXES - 1 - cnt;
		mbx_mask = BIT(mbxno);
		hecc_clear_bit(priv, HECC_CANME, mbx_mask);
		hecc_write_mbx(priv, mbxno, HECC_CANMID, HECC_CANMID_AME);
		hecc_write_lam(priv, mbxno, HECC_SET_REG);
		hecc_set_bit(priv, HECC_CANMD, mbx_mask);
		hecc_set_bit(priv, HECC_CANME, mbx_mask);
		hecc_set_bit(priv, HECC_CANMIM, mbx_mask);
	}

	/* Prevent message over-write & Enable interrupts */
	hecc_write(priv, HECC_CANOPC, HECC_SET_REG);
	if (priv->int_line) {
		hecc_write(priv, HECC_CANMIL, HECC_SET_REG);
		hecc_write(priv, HECC_CANGIM, HECC_CANGIM_DEF_MASK |
			HECC_CANGIM_I1EN | HECC_CANGIM_SIL);
	} else {
		hecc_write(priv, HECC_CANMIL, 0);
		hecc_write(priv, HECC_CANGIM,
			HECC_CANGIM_DEF_MASK | HECC_CANGIM_I0EN);
	}
	priv->can.state = CAN_STATE_ERROR_ACTIVE;
}

static void ti_hecc_stop(struct net_device *ndev)
{
	struct ti_hecc_priv *priv = netdev_priv(ndev);

	/* Disable interrupts and disable mailboxes */
	hecc_write(priv, HECC_CANGIM, 0);
	hecc_write(priv, HECC_CANMIM, 0);
	hecc_write(priv, HECC_CANME, 0);
	priv->can.state = CAN_STATE_STOPPED;
}

static int ti_hecc_do_set_mode(struct net_device *ndev, enum can_mode mode)
{
	int ret = 0;

	switch (mode) {
	case CAN_MODE_START:
		ti_hecc_start(ndev);
		netif_wake_queue(ndev);
		break;
	default:
		ret = -EOPNOTSUPP;
		break;
	}

	return ret;
}

/*
 * ti_hecc_xmit: HECC Transmit
 *
 * The transmit mailboxes start from 0 to HECC_MAX_TX_MBOX. In HECC the
 * priority of the mailbox for tranmission is dependent upon priority setting
 * field in mailbox registers. The mailbox with highest value in priority field
 * is transmitted first. Only when two mailboxes have the same value in
 * priority field the highest numbered mailbox is transmitted first.
 *
 * To utilize the HECC priority feature as described above we start with the
 * highest numbered mailbox with highest priority level and move on to the next
 * mailbox with the same priority level and so on. Once we loop through all the
 * transmit mailboxes we choose the next priority level (lower) and so on
 * until we reach the lowest priority level on the lowest numbered mailbox
 * when we stop transmission until all mailboxes are transmitted and then
 * restart at highest numbered mailbox with highest priority.
 *
 * Two counters (head and tail) are used to track the next mailbox to transmit
 * and to track the echo buffer for already transmitted mailbox. The queue
 * is stopped when all the mailboxes are busy or when there is a priority
 * value roll-over happens.
 */
static netdev_tx_t ti_hecc_xmit(struct sk_buff *skb, struct net_device *ndev)
{
	struct ti_hecc_priv *priv = netdev_priv(ndev);
	struct can_frame *cf = (struct can_frame *)skb->data;
	u32 mbxno, mbx_mask, data;
	unsigned long flags;

	if (can_dropped_invalid_skb(ndev, skb))
		return NETDEV_TX_OK;

	mbxno = get_tx_head_mb(priv);
	mbx_mask = BIT(mbxno);
	spin_lock_irqsave(&priv->mbx_lock, flags);
	if (unlikely(hecc_read(priv, HECC_CANME) & mbx_mask)) {
		spin_unlock_irqrestore(&priv->mbx_lock, flags);
		netif_stop_queue(ndev);
		dev_err(priv->ndev->dev.parent,
			"BUG: TX mbx not ready tx_head=%08X, tx_tail=%08X\n",
			priv->tx_head, priv->tx_tail);
		return NETDEV_TX_BUSY;
	}
	spin_unlock_irqrestore(&priv->mbx_lock, flags);

	/* Prepare mailbox for transmission */
	data = cf->can_dlc | (get_tx_head_prio(priv) << 8);
	if (cf->can_id & CAN_RTR_FLAG) /* Remote transmission request */
		data |= HECC_CANMCF_RTR;
	hecc_write_mbx(priv, mbxno, HECC_CANMCF, data);

	if (cf->can_id & CAN_EFF_FLAG) /* Extended frame format */
		data = (cf->can_id & CAN_EFF_MASK) | HECC_CANMID_IDE;
	else /* Standard frame format */
		data = (cf->can_id & CAN_SFF_MASK) << 18;
	hecc_write_mbx(priv, mbxno, HECC_CANMID, data);
	hecc_write_mbx(priv, mbxno, HECC_CANMDL,
		be32_to_cpu(*(u32 *)(cf->data)));
	if (cf->can_dlc > 4)
		hecc_write_mbx(priv, mbxno, HECC_CANMDH,
			be32_to_cpu(*(u32 *)(cf->data + 4)));
	else
		*(u32 *)(cf->data + 4) = 0;
	can_put_echo_skb(skb, ndev, mbxno);

	spin_lock_irqsave(&priv->mbx_lock, flags);
	--priv->tx_head;
	if ((hecc_read(priv, HECC_CANME) & BIT(get_tx_head_mb(priv))) ||
		(priv->tx_head & HECC_TX_MASK) == HECC_TX_MASK) {
		netif_stop_queue(ndev);
	}
	hecc_set_bit(priv, HECC_CANME, mbx_mask);
	spin_unlock_irqrestore(&priv->mbx_lock, flags);

	hecc_clear_bit(priv, HECC_CANMD, mbx_mask);
	hecc_set_bit(priv, HECC_CANMIM, mbx_mask);
	hecc_write(priv, HECC_CANTRS, mbx_mask);

	return NETDEV_TX_OK;
}

static int ti_hecc_rx_pkt(struct ti_hecc_priv *priv, int mbxno)
{
	struct net_device_stats *stats = &priv->ndev->stats;
	struct can_frame *cf;
	struct sk_buff *skb;
	u32 data, mbx_mask;
	unsigned long flags;

	skb = alloc_can_skb(priv->ndev, &cf);
	if (!skb) {
		if (printk_ratelimit())
			dev_err(priv->ndev->dev.parent,
				"ti_hecc_rx_pkt: alloc_can_skb() failed\n");
		return -ENOMEM;
	}

	mbx_mask = BIT(mbxno);
	data = hecc_read_mbx(priv, mbxno, HECC_CANMID);
	if (data & HECC_CANMID_IDE)
		cf->can_id = (data & CAN_EFF_MASK) | CAN_EFF_FLAG;
	else
		cf->can_id = (data >> 18) & CAN_SFF_MASK;
	data = hecc_read_mbx(priv, mbxno, HECC_CANMCF);
	if (data & HECC_CANMCF_RTR)
		cf->can_id |= CAN_RTR_FLAG;
	cf->can_dlc = get_can_dlc(data & 0xF);
	data = hecc_read_mbx(priv, mbxno, HECC_CANMDL);
	*(u32 *)(cf->data) = cpu_to_be32(data);
	if (cf->can_dlc > 4) {
		data = hecc_read_mbx(priv, mbxno, HECC_CANMDH);
		*(u32 *)(cf->data + 4) = cpu_to_be32(data);
	} else {
		*(u32 *)(cf->data + 4) = 0;
	}
	spin_lock_irqsave(&priv->mbx_lock, flags);
	hecc_clear_bit(priv, HECC_CANME, mbx_mask);
	hecc_write(priv, HECC_CANRMP, mbx_mask);
	/* enable mailbox only if it is part of rx buffer mailboxes */
	if (priv->rx_next < HECC_RX_BUFFER_MBOX)
		hecc_set_bit(priv, HECC_CANME, mbx_mask);
	spin_unlock_irqrestore(&priv->mbx_lock, flags);

	stats->rx_bytes += cf->can_dlc;
	netif_receive_skb(skb);
	stats->rx_packets++;

	return 0;
}

/*
 * ti_hecc_rx_poll - HECC receive pkts
 *
 * The receive mailboxes start from highest numbered mailbox till last xmit
 * mailbox. On CAN frame reception the hardware places the data into highest
 * numbered mailbox that matches the CAN ID filter. Since all receive mailboxes
 * have same filtering (ALL CAN frames) packets will arrive in the highest
 * available RX mailbox and we need to ensure in-order packet reception.
 *
 * To ensure the packets are received in the right order we logically divide
 * the RX mailboxes into main and buffer mailboxes. Packets are received as per
 * mailbox priotity (higher to lower) in the main bank and once it is full we
 * disable further reception into main mailboxes. While the main mailboxes are
 * processed in NAPI, further packets are received in buffer mailboxes.
 *
 * We maintain a RX next mailbox counter to process packets and once all main
 * mailboxe packets are passed to the upper stack we enable all of them but
 * continue to process packets received in buffer mailboxes. With each packet
 * received from buffer mailbox we enable it immediately so as to handle the
 * overflow from higher mailboxes.
 */
static int ti_hecc_rx_poll(struct napi_struct *napi, int quota)
{
	struct net_device *ndev = napi->dev;
	struct ti_hecc_priv *priv = netdev_priv(ndev);
	u32 num_pkts = 0;
	u32 mbx_mask;
	unsigned long pending_pkts, flags;

	if (!netif_running(ndev))
		return 0;

	while ((pending_pkts = hecc_read(priv, HECC_CANRMP)) &&
		num_pkts < quota) {
		mbx_mask = BIT(priv->rx_next); /* next rx mailbox to process */
		if (mbx_mask & pending_pkts) {
			if (ti_hecc_rx_pkt(priv, priv->rx_next) < 0)
				return num_pkts;
			++num_pkts;
		} else if (priv->rx_next > HECC_RX_BUFFER_MBOX) {
			break; /* pkt not received yet */
		}
		--priv->rx_next;
		if (priv->rx_next == HECC_RX_BUFFER_MBOX) {
			/* enable high bank mailboxes */
			spin_lock_irqsave(&priv->mbx_lock, flags);
			mbx_mask = hecc_read(priv, HECC_CANME);
			mbx_mask |= HECC_RX_HIGH_MBOX_MASK;
			hecc_write(priv, HECC_CANME, mbx_mask);
			spin_unlock_irqrestore(&priv->mbx_lock, flags);
		} else if (priv->rx_next == HECC_MAX_TX_MBOX - 1) {
			priv->rx_next = HECC_RX_FIRST_MBOX;
			break;
		}
	}

	/* Enable packet interrupt if all pkts are handled */
	if (hecc_read(priv, HECC_CANRMP) == 0) {
		napi_complete(napi);
		/* Re-enable RX mailbox interrupts */
		mbx_mask = hecc_read(priv, HECC_CANMIM);
		mbx_mask |= HECC_TX_MBOX_MASK;
		hecc_write(priv, HECC_CANMIM, mbx_mask);
	}

	return num_pkts;
}

static int ti_hecc_error(struct net_device *ndev, int int_status,
	int err_status)
{
	struct ti_hecc_priv *priv = netdev_priv(ndev);
	struct net_device_stats *stats = &ndev->stats;
	struct can_frame *cf;
	struct sk_buff *skb;

	/* propagate the error condition to the can stack */
	skb = alloc_can_err_skb(ndev, &cf);
	if (!skb) {
		if (printk_ratelimit())
			dev_err(priv->ndev->dev.parent,
				"ti_hecc_error: alloc_can_err_skb() failed\n");
		return -ENOMEM;
	}

	if (int_status & HECC_CANGIF_WLIF) { /* warning level int */
		if ((int_status & HECC_CANGIF_BOIF) == 0) {
			priv->can.state = CAN_STATE_ERROR_WARNING;
			++priv->can.can_stats.error_warning;
			cf->can_id |= CAN_ERR_CRTL;
			if (hecc_read(priv, HECC_CANTEC) > 96)
				cf->data[1] |= CAN_ERR_CRTL_TX_WARNING;
			if (hecc_read(priv, HECC_CANREC) > 96)
				cf->data[1] |= CAN_ERR_CRTL_RX_WARNING;
		}
		hecc_set_bit(priv, HECC_CANES, HECC_CANES_EW);
		dev_dbg(priv->ndev->dev.parent, "Error Warning interrupt\n");
		hecc_clear_bit(priv, HECC_CANMC, HECC_CANMC_CCR);
	}

	if (int_status & HECC_CANGIF_EPIF) { /* error passive int */
		if ((int_status & HECC_CANGIF_BOIF) == 0) {
			priv->can.state = CAN_STATE_ERROR_PASSIVE;
			++priv->can.can_stats.error_passive;
			cf->can_id |= CAN_ERR_CRTL;
			if (hecc_read(priv, HECC_CANTEC) > 127)
				cf->data[1] |= CAN_ERR_CRTL_TX_PASSIVE;
			if (hecc_read(priv, HECC_CANREC) > 127)
				cf->data[1] |= CAN_ERR_CRTL_RX_PASSIVE;
		}
		hecc_set_bit(priv, HECC_CANES, HECC_CANES_EP);
		dev_dbg(priv->ndev->dev.parent, "Error passive interrupt\n");
		hecc_clear_bit(priv, HECC_CANMC, HECC_CANMC_CCR);
	}

	/*
	 * Need to check busoff condition in error status register too to
	 * ensure warning interrupts don't hog the system
	 */
	if ((int_status & HECC_CANGIF_BOIF) || (err_status & HECC_CANES_BO)) {
		priv->can.state = CAN_STATE_BUS_OFF;
		cf->can_id |= CAN_ERR_BUSOFF;
		hecc_set_bit(priv, HECC_CANES, HECC_CANES_BO);
		hecc_clear_bit(priv, HECC_CANMC, HECC_CANMC_CCR);
		/* Disable all interrupts in bus-off to avoid int hog */
		hecc_write(priv, HECC_CANGIM, 0);
		can_bus_off(ndev);
	}

	if (err_status & HECC_BUS_ERROR) {
		++priv->can.can_stats.bus_error;
		cf->can_id |= CAN_ERR_BUSERROR | CAN_ERR_PROT;
		cf->data[2] |= CAN_ERR_PROT_UNSPEC;
		if (err_status & HECC_CANES_FE) {
			hecc_set_bit(priv, HECC_CANES, HECC_CANES_FE);
			cf->data[2] |= CAN_ERR_PROT_FORM;
		}
		if (err_status & HECC_CANES_BE) {
			hecc_set_bit(priv, HECC_CANES, HECC_CANES_BE);
			cf->data[2] |= CAN_ERR_PROT_BIT;
		}
		if (err_status & HECC_CANES_SE) {
			hecc_set_bit(priv, HECC_CANES, HECC_CANES_SE);
			cf->data[2] |= CAN_ERR_PROT_STUFF;
		}
		if (err_status & HECC_CANES_CRCE) {
			hecc_set_bit(priv, HECC_CANES, HECC_CANES_CRCE);
			cf->data[3] |= CAN_ERR_PROT_LOC_CRC_SEQ |
					CAN_ERR_PROT_LOC_CRC_DEL;
		}
		if (err_status & HECC_CANES_ACKE) {
			hecc_set_bit(priv, HECC_CANES, HECC_CANES_ACKE);
			cf->data[3] |= CAN_ERR_PROT_LOC_ACK |
					CAN_ERR_PROT_LOC_ACK_DEL;
		}
	}

	netif_receive_skb(skb);
	stats->rx_packets++;
	stats->rx_bytes += cf->can_dlc;
	return 0;
}

static irqreturn_t ti_hecc_interrupt(int irq, void *dev_id)
{
	struct net_device *ndev = (struct net_device *)dev_id;
	struct ti_hecc_priv *priv = netdev_priv(ndev);
	struct net_device_stats *stats = &ndev->stats;
	u32 mbxno, mbx_mask, int_status, err_status;
	unsigned long ack, flags;

	int_status = hecc_read(priv,
		(priv->int_line) ? HECC_CANGIF1 : HECC_CANGIF0);

	if (!int_status)
		return IRQ_NONE;

	err_status = hecc_read(priv, HECC_CANES);
	if (err_status & (HECC_BUS_ERROR | HECC_CANES_BO |
		HECC_CANES_EP | HECC_CANES_EW))
			ti_hecc_error(ndev, int_status, err_status);

	if (int_status & HECC_CANGIF_GMIF) {
		while (priv->tx_tail - priv->tx_head > 0) {
			mbxno = get_tx_tail_mb(priv);
			mbx_mask = BIT(mbxno);
			if (!(mbx_mask & hecc_read(priv, HECC_CANTA)))
				break;
			hecc_clear_bit(priv, HECC_CANMIM, mbx_mask);
			hecc_write(priv, HECC_CANTA, mbx_mask);
			spin_lock_irqsave(&priv->mbx_lock, flags);
			hecc_clear_bit(priv, HECC_CANME, mbx_mask);
			spin_unlock_irqrestore(&priv->mbx_lock, flags);
			stats->tx_bytes += hecc_read_mbx(priv, mbxno,
						HECC_CANMCF) & 0xF;
			stats->tx_packets++;
			can_get_echo_skb(ndev, mbxno);
			--priv->tx_tail;
		}

		/* restart queue if wrap-up or if queue stalled on last pkt */
		if (((priv->tx_head == priv->tx_tail) &&
		((priv->tx_head & HECC_TX_MASK) != HECC_TX_MASK)) ||
		(((priv->tx_tail & HECC_TX_MASK) == HECC_TX_MASK) &&
		((priv->tx_head & HECC_TX_MASK) == HECC_TX_MASK)))
			netif_wake_queue(ndev);

		/* Disable RX mailbox interrupts and let NAPI reenable them */
		if (hecc_read(priv, HECC_CANRMP)) {
			ack = hecc_read(priv, HECC_CANMIM);
			ack &= BIT(HECC_MAX_TX_MBOX) - 1;
			hecc_write(priv, HECC_CANMIM, ack);
			napi_schedule(&priv->napi);
		}
	}

	/* clear all interrupt conditions - read back to avoid spurious ints */
	if (priv->int_line) {
		hecc_write(priv, HECC_CANGIF1, HECC_SET_REG);
		int_status = hecc_read(priv, HECC_CANGIF1);
	} else {
		hecc_write(priv, HECC_CANGIF0, HECC_SET_REG);
		int_status = hecc_read(priv, HECC_CANGIF0);
	}

	return IRQ_HANDLED;
}

static int ti_hecc_open(struct net_device *ndev)
{
	struct ti_hecc_priv *priv = netdev_priv(ndev);
	int err;

	err = request_irq(ndev->irq, ti_hecc_interrupt, IRQF_SHARED,
			ndev->name, ndev);
	if (err) {
		dev_err(ndev->dev.parent, "error requesting interrupt\n");
		return err;
	}

	ti_hecc_transceiver_switch(priv, 1);

	/* Open common can device */
	err = open_candev(ndev);
	if (err) {
		dev_err(ndev->dev.parent, "open_candev() failed %d\n", err);
		ti_hecc_transceiver_switch(priv, 0);
		free_irq(ndev->irq, ndev);
		return err;
	}

	ti_hecc_start(ndev);
	napi_enable(&priv->napi);
	netif_start_queue(ndev);

	return 0;
}

static int ti_hecc_close(struct net_device *ndev)
{
	struct ti_hecc_priv *priv = netdev_priv(ndev);

	netif_stop_queue(ndev);
	napi_disable(&priv->napi);
	ti_hecc_stop(ndev);
	free_irq(ndev->irq, ndev);
	close_candev(ndev);
	ti_hecc_transceiver_switch(priv, 0);

	return 0;
}

static const struct net_device_ops ti_hecc_netdev_ops = {
	.ndo_open		= ti_hecc_open,
	.ndo_stop		= ti_hecc_close,
	.ndo_start_xmit		= ti_hecc_xmit,
};

static int ti_hecc_probe(struct platform_device *pdev)
{
	struct net_device *ndev = (struct net_device *)0;
	struct ti_hecc_priv *priv;
	struct ti_hecc_platform_data *pdata;
	struct resource *mem, *irq;
	void __iomem *addr;
	int err = -ENODEV;

	pdata = pdev->dev.platform_data;
	if (!pdata) {
		dev_err(&pdev->dev, "No platform data\n");
		goto probe_exit;
	}

	mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
	if (!mem) {
		dev_err(&pdev->dev, "No mem resources\n");
		goto probe_exit;
	}
	irq = platform_get_resource(pdev, IORESOURCE_IRQ, 0);
	if (!irq) {
		dev_err(&pdev->dev, "No irq resource\n");
		goto probe_exit;
	}
	if (!request_mem_region(mem->start, resource_size(mem), pdev->name)) {
		dev_err(&pdev->dev, "HECC region already claimed\n");
		err = -EBUSY;
		goto probe_exit;
	}
	addr = ioremap(mem->start, resource_size(mem));
	if (!addr) {
		dev_err(&pdev->dev, "ioremap failed\n");
		err = -ENOMEM;
		goto probe_exit_free_region;
	}

	ndev = alloc_candev(sizeof(struct ti_hecc_priv), HECC_MAX_TX_MBOX);
	if (!ndev) {
		dev_err(&pdev->dev, "alloc_candev failed\n");
		err = -ENOMEM;
		goto probe_exit_iounmap;
	}

	priv = netdev_priv(ndev);
	priv->ndev = ndev;
	priv->base = addr;
	priv->scc_ram_offset = pdata->scc_ram_offset;
	priv->hecc_ram_offset = pdata->hecc_ram_offset;
	priv->mbx_offset = pdata->mbx_offset;
	priv->int_line = pdata->int_line;
	priv->transceiver_switch = pdata->transceiver_switch;

	priv->can.bittiming_const = &ti_hecc_bittiming_const;
	priv->can.do_set_mode = ti_hecc_do_set_mode;
	priv->can.do_get_state = ti_hecc_get_state;
	priv->can.ctrlmode_supported = CAN_CTRLMODE_3_SAMPLES;

	spin_lock_init(&priv->mbx_lock);
	ndev->irq = irq->start;
	ndev->flags |= IFF_ECHO;
	platform_set_drvdata(pdev, ndev);
	SET_NETDEV_DEV(ndev, &pdev->dev);
	ndev->netdev_ops = &ti_hecc_netdev_ops;

	priv->clk = clk_get(&pdev->dev, "hecc_ck");
	if (IS_ERR(priv->clk)) {
		dev_err(&pdev->dev, "No clock available\n");
		err = PTR_ERR(priv->clk);
		priv->clk = NULL;
		goto probe_exit_candev;
	}
	priv->can.clock.freq = clk_get_rate(priv->clk);
	netif_napi_add(ndev, &priv->napi, ti_hecc_rx_poll,
		HECC_DEF_NAPI_WEIGHT);

	clk_enable(priv->clk);
	err = register_candev(ndev);
	if (err) {
		dev_err(&pdev->dev, "register_candev() failed\n");
		goto probe_exit_clk;
	}
	dev_info(&pdev->dev, "device registered (reg_base=%p, irq=%u)\n",
		priv->base, (u32) ndev->irq);

	return 0;

probe_exit_clk:
	clk_put(priv->clk);
probe_exit_candev:
	free_candev(ndev);
probe_exit_iounmap:
	iounmap(addr);
probe_exit_free_region:
	release_mem_region(mem->start, resource_size(mem));
probe_exit:
	return err;
}

static int __devexit ti_hecc_remove(struct platform_device *pdev)
{
	struct resource *res;
	struct net_device *ndev = platform_get_drvdata(pdev);
	struct ti_hecc_priv *priv = netdev_priv(ndev);

	unregister_candev(ndev);
	clk_disable(priv->clk);
	clk_put(priv->clk);
	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
	iounmap(priv->base);
	release_mem_region(res->start, resource_size(res));
	free_candev(ndev);
	platform_set_drvdata(pdev, NULL);

	return 0;
}

#ifdef CONFIG_PM
static int ti_hecc_suspend(struct platform_device *pdev, pm_message_t state)
{
	struct net_device *dev = platform_get_drvdata(pdev);
	struct ti_hecc_priv *priv = netdev_priv(dev);

	if (netif_running(dev)) {
		netif_stop_queue(dev);
		netif_device_detach(dev);
	}

	hecc_set_bit(priv, HECC_CANMC, HECC_CANMC_PDR);
	priv->can.state = CAN_STATE_SLEEPING;

	clk_disable(priv->clk);

	return 0;
}

static int ti_hecc_resume(struct platform_device *pdev)
{
	struct net_device *dev = platform_get_drvdata(pdev);
	struct ti_hecc_priv *priv = netdev_priv(dev);

	clk_enable(priv->clk);

	hecc_clear_bit(priv, HECC_CANMC, HECC_CANMC_PDR);
	priv->can.state = CAN_STATE_ERROR_ACTIVE;

	if (netif_running(dev)) {
		netif_device_attach(dev);
		netif_start_queue(dev);
	}

	return 0;
}
#else
#define ti_hecc_suspend NULL
#define ti_hecc_resume NULL
#endif

/* TI HECC netdevice driver: platform driver structure */
static struct platform_driver ti_hecc_driver = {
	.driver = {
		.name    = DRV_NAME,
		.owner   = THIS_MODULE,
	},
	.probe = ti_hecc_probe,
	.remove = __devexit_p(ti_hecc_remove),
	.suspend = ti_hecc_suspend,
	.resume = ti_hecc_resume,
};

static int __init ti_hecc_init_driver(void)
{
	printk(KERN_INFO DRV_DESC "\n");
	return platform_driver_register(&ti_hecc_driver);
}

static void __exit ti_hecc_exit_driver(void)
{
	printk(KERN_INFO DRV_DESC " unloaded\n");
	platform_driver_unregister(&ti_hecc_driver);
}

module_exit(ti_hecc_exit_driver);
module_init(ti_hecc_init_driver);

MODULE_AUTHOR("Anant Gole <anantgole@ti.com>");
MODULE_LICENSE("GPL v2");
MODULE_DESCRIPTION(DRV_DESC);

redpajama_set_name: RedPajamaGithub


I want to share with you this small set of pencils.
Some of these tools feature Angle (Tilt) variance but you need a tablet that support it.
This set doesn't work on iPad because required settings are not yet there.
It will work with proper textures once the matching of iOS/Desktop version has been completed.
This new release works with MAS versions of Affinity range, but to have proper tilt dynamic latest Beta of AP or AD is needed.
Thank you paolo.limoncelli for generously sharing your work.
The 2B sharpened features size jitter with Angle variation, strokes are more dynamic and both sketching and results feel more "analog".
Paper texture embedded comes from an hi-res scan, made seamless to avoid tiling issues.
But now let me see some of your art pieces!
Thanks, this is what I needed.
Cool, is there any way to use these pixel brushes on vector lines in designer? Like converting it into pixel-layer with the lines beeing rendered in pixel-brushes?
Thank you! The brushes are awesome and appreciated!
Success! (imported and visible) Thanks for the brushes!
Thanks a lot. It's Great.
Thank you. I like that!


View full sizeClackamas County Sheriff's OfficeRescue workers prepare climber Meredith Jaques, 30, of Hood River, for transportation to a hospital.
is now safely off the mountain and heading to Hood River Memorial Hospital.
Clackamas County emergency officials said Meredith E. Jaques will be treated for head, neck and back injuries after a large chunk of falling ice, said to possibly be 20 by 40 feet, struck her in the head, causing her to lose her balance and slide 300 feet down the mountain while ascending the Hogsback area.
After being retrieved by rescuers at 11:30 a.m., Jaques was taken down the mountain by sled to Palmer Glacier. A snow-cat sent to meet rescuers in the area broke down, said Clackamas County Sheriff's Office spokesman Det. Jim Strovink, and the woman had to be transported the rest of the way to Timberline Lodge using a toboggan.
Jaques was part of a group of 12 climbers when the accident happened. She was the only one seriously hurt. She was off the mountain as of 4:45 p.m.
KGW reports the group left for their trip at 2 a.m., and the accident occurred at about 6 a.m., Clackamas County Dispatch was alerted to the incident at 7:25 a.m. She was retrieved by an American Medical Response Reach and Treat Team at 11:30 a.m.


text:
Home » Music » Choral » New York Choral Society and The Mannes Orchestra: For Those We've Loved
New York Choral Society and The Mannes Orchestra: For Those We've Loved
Thoughtful programming, an uneven performance, but artistic integrity intact with some splendid moments.
Posted on April 16, 2015 by Jean Ballard Terepka in Choral, Music
New York Choral Society and Orchestra and Music Director David Hayes (Photo courtesy of New York Choral Society)
Jean Ballard Terepka, Music Critic
The New York Choral Society's most recent concert, led by David Hayes, New York Choral Society's Artistic Director, featuring the chorus, The Mannes Orchestra, the Young People's Chorus of New York City, and two very fine soloists, was atypical. The program consisted of two parts. The first half consisted of John Adams' On the Transmigration of Souls and the second, Paul Hindemith's When Lilacs Last in the Door-yard Bloom'd.
The Hindemith was beautifully performed and the second half of the concert was successful. But the first half, the Adams, was not a success. It was not an abject failure – Hayes wouldn't permit that – but the performance did not produce the kind of considered satisfaction that New York Choral Society concerts typically do. The reasons for this lay in the nature of Adams' piece and in particular features of the performance itself.
In the immediate aftermath of 9/11, the chaos of grief felt uncontainable. The mourning for lives lost was coupled with such shocked confusion about the nature of the attacks that responses to the event were themselves confused, ranging from useful eloquence to rigid anti-intellectualism, and from careful emotional restraint to unfettered, sloppy sentimentalism. Creative artists – like Adams – called upon to create memorials immediately after the event operated in a charged and polarized cultural atmosphere; the vocabulary of response was still dense with first-hand, gritty memories of the September day's details and artists were faced with difficult aesthetic, intellectual and even moral choices about which details to include in memorial pieces.
In spite of the enduring beauty of most of On the Transmigration of Souls – one of the best of hundreds of commissioned memorial responses to 9/11 all around the country – the inclusion of recordings of street and emergency sounds may prove to be expendable: in 2002, these recorded narrative elements might have seemed necessary for the completeness of the piece, but, over time, they've come to seem less and less necessary to the integrity of the work, and problematic to attentive audiences.
Twenty-first century audiences are accustomed to the integration of recorded material in music performances, but Transmigration asks listeners to make impossible decisions about the recorded material. Is its presence to be tended to, analyzed and parsed out as a way to make sense of 9/11 or of this music? Or is it to be ignored and blocked out, as, ultimately, we have to shut out awfulness when the sheer quantity of it threatens our sanity? If we strain to hear the recorded sounds, we lose some of our relationship with Adams' music – surely not Adams' intention – but if we strive to ignore it, then we find ourselves distracted, wondering what we've missed. When the music is choral – when the composers have committed to words as part of their created art – then the question of missed or lost text is doubly tough: words are meant to be heard and understood.
Hayes generally insists on clear enunciation from the singers he works with: in fact, this is one of the steady pleasures of the New York Choral Society. So the sections of Adams' Transmigration in which the singers' words couldn't be understood – generally the opening and closing thirds of the work, when the recorded material figures more or less prominently – were frustrating and disconcerting. Fortunately, this group's choral sound as Hayes has shaped it over the years is sufficiently coherent and clear so that the sound in and of itself is an effective instrument; the result, in this instance, is that though the words in these portions of the Transmigration were virtually unintelligible, the vocal sound contributed to the musical drama.
Interestingly, in this performance, the most successful portion of the piece was the most explicitly text-dependent: the lines Adams imported from the New York Times' enduringly moving "Portraits of Grief" provided material for the most beautiful music in Transmigration. Here, the chorus shone.
The success of this performance of Adams' Transmigration was hindered by one additional element. The Mannes Orchestra – by definition a young group, not able to acquire over time a sense of itself as an organic whole – responded to Adams' difficult, very fast and rhythmically dense writing not by any sloppiness or inaccuracy but by an inability to sustain any wide spectrum of volume: the orchestra, especially the strings, settled somewhere between mezzo forte and fortissimo through much of the piece, thereby often drowning out the sound of the chorus and exacerbating the problems inherent to much of the piece.
David Hayes, Music Director of New York Choral Society (Photo courtesy of New York Choral Society)
In spite of these major and complex problems, the raw emotion and the aesthetic rewards of even a flawed performance, such as this, of Adams' Transmigration were fully felt by the audience; acknowledging the sheer cumulative power of the piece, the audience vigorously applauded the New York Choral Society, the Young People's Chorus of New York and The Mannes Orchestra.
The second half of the concert – Hindemith's remarkable When Lilacs Last in the Door-yard Bloom'd: A requiem "for those we love" – was wonderful. When Lilacs Last is a fascinating piece. Walt Whitman's 1865 poetry calls together all America's successes and failures, fears and optimisms; Hindemith takes Whitman's nineteenth century vision as the shape for his twentieth century call to reclaim justice by honoring the ideals of America's identity. Walt Whitman's words have inspired composers as varied as Leonard Bernstein, Benjamin Britten, Ned Rorem, Frederick Delius, Ralph Vaughan Williams, Roger Sessions … and the evening's John Adams precisely because of the quality of their sound and their rhythm: not obedient to particular rhyme and scansion patterns, Whitman's words elicit daring from composers, and the wonderful ones make wonderful music.
Hindemith sets words for both chorus and soloists. The chorus was at its best under Hayes' exacting and exhilarating direction. The two soloists were marvelous.
Mezz-soprano Abigail Fischer's rich, strong voice, capable of both wistful sweetness and sultry urgency, was well suited to the demands of the text: she was equally fine as Whitman's persona, calling up nature's – birds' especially – songs of mourning and freedom and then, as a paradigm of America, singing the songs herself.
The baritone's role in When Lilacs Last is larger than the mezzosoprano's: he is the declamatory voice of both the "poet" and history itself. Lee Poulis' powerful, expressive voice carried Whitman's words from the stage to the farthest reaches of Carnegie's high balconies; his passionate affection for both the meanings of Whitman's words and their sounds was radiantly clear.
Throughout the Hindemith, chorus, orchestra and soloists were exceptionally well balanced: here, The Mannes Orchestra, though performing music neither more nor less difficult than Adams', played with nuance and subtlety.
The Hindemith demands a good deal from its audience: Whitman's text is a complex one, not susceptible of full comprehension in any one encounter. Hearing it set to music reveals its sensuality and its emotion: these are cardinal to its several meanings. The gift of Hindemith's score is to illuminate these meanings without sacrificing others. Chorus and soloists alike, treating the text with respect by enunciating very clearly, contributed to this fine performance.
Before the concert "officially" began, Hayes came to the stage and spoke briefly to the audience. He discussed the commonalities of the two works and his reasons for choosing to perform them together. He noted that Adams and Hindemith-and-Whitman were writing not memorials or requiems in any traditional sense, but exhortations to continuation and futurity. He spoke especially about Adams' desire to use Transmigration as a way to provide a "memory space" and about Hayes' own desire to use the concert to further that same goal on a long range basis.
Hayes' remarks were useful, insightful and inspiring: artists and audiences alike need art to make sense of tragedies and injustices and to continue forward with greater wisdom. That this concert was uneven in its success diminished neither the intelligence of the programming nor the New York Choral Society's ability to retain the loyalty of its audience.
New York Choral Society and The Mannes Orchestra : For Those We've Loved (April 8, 2015)
Carnegie Hall, 881 Seventh Avenue at 57th Street, in Manhattan
For more information: visit http://www.nychoral.org or http://www.carnegiehall.org
Running time: two hours including one intermission
Abigail Fischer
For Those We've Loved
Lee Poulis
New York Choral Society
On Transmigration of Souls
The Mannes Orchestra
When Lilacs Last in the Dooryared Bloom'd
Young People's Chorus of New York City
About Jean Ballard Terepka (128 Articles)
Jean Ballard Terepka, a native and life-long New Yorker, has been writing about music for twenty years. In addition to her continuing career as an independent educational consultant, Terepka also works as an archivist and historian with specialties in American cultural, intellectual and religious history. Terepka serves on the Executive Committee of the Harlem African Burial Ground Task Force and on the Board of National Episcopal Historians and Archivists; she is a member of the Music Critics Association of North America.
Gotham Chamber Opera: Alexandre bis & Comedy on the Bridge
A lovely evening of two comic operas by Bohuslav Martinu taken seriously, absurdity made purposeful, musical mirth and artistic integrity.
The Boy From Oz
The New York Pops: "Movie Mixtape: Songs from the Silver Screen"
Four vocalists of differing talents mostly shine in songs chosen from across nine decades of movies.
The New York Pops' 35th Birthday Gala, "Part of His World: The Songs of Alan Menken"
Angela Lansbury, Harvey Fierstein, Patina Miller and Nick Cordero were among the performers who celebrated the composer during this sensational concert.
The New York Pops: "Make the Season Bright"
The Callaway sisters, the Nunziata twins and the renowned orchestra performed a warmly entertaining program of Christmas classics and Hanukah songs.


text:
Results for 'David Schejbal'
David Hume, contractarian.David Gauthier - 1979 - Philosophical Review 88 (1):3-38.details
Hume: Social and Political Philosophy in 17th/18th Century Philosophy
David Hume: Common-Sense Moralist, Sceptical Metaphysician.David Fate Norton - 1982 - Princeton University Press.details
The Description for this book, David Hume: Common-Sense Moralist, Sceptical Metaphysician, will be forthcoming.
Hume and Other Philosophers in 17th/18th Century Philosophy
Hume: Metaphysics and Epistemology in 17th/18th Century Philosophy
Hume: Value Theory in 17th/18th Century Philosophy
David Lewis and Schrodinger's Cat.David Papineau - 2004 - Australasian Journal of Philosophy 82 (1):153.details
In 'How Many Lives Has Schrödinger's Cat?' David Lewis argues that the Everettian no-collapse interpretation of quantum mechanics is in a tangle when it comes to probabilities. This paper aims to show that the difficulties that Lewis raises are insubstantial. The Everettian metaphysics contains a coherent account of probability. Indeed it accounts for probability rather better than orthodox metaphysics does.
David Lewis in 20th Century Philosophy
Everett Interpretation in Philosophy of Physical Science
Schrodinger's Cat in Philosophy of Physical Science
I—David McNaughton and Piers Rawling: Descriptivism, Normativity and the Metaphysics of Reasons.David McNaughton & Piers Rawling - 2003 - Aristotelian Society Supplementary Volume 77 (1):23-45.details
Simon Blackburn can be seen as challenging those committed to sui generis moral facts to explain the supervenience of the moral on the descriptive. We hold that normative facts in general are sui generis. We also hold that the normative supervenes on the descriptive, and we here endeavour to answer the generalization of Blackburn's challenge. In the course of pursuing this answer, we suggest that Frank Jackson's descriptivism rests on a conception of properties inappropriate to discussions of normativity, and we (...) see reason to reject descriptivism generally. We also discuss the views of David Brink, Jonathan Dancy and Bernard Williams in this area. (shrink)
Bernard Williams in 20th Century Philosophy
David Hume: A Treatise of Human Nature (Two-volume set).David Fate Norton & Mary J. Norton (eds.) - 2007 - Clarendon Press.details
David and Mary Norton present the definitive scholarly edition of Hume's Treatise, one of the greatest philosophical works ever written. This set comprises the two volumes of texts and editorial material, which are also available for purchase separately. -/- David Hume (1711 - 1776) is one of the greatest of philosophers. Today he probably ranks highest of all British philosophers in terms of influence and philosophical standing. His philosophical work ranges across morals, the mind, metaphysics, epistemology, religion, and (...) aesthetics; he had broad interests not only in philosophy as it is now conceived but in history, politics, economics, religion, and the arts. He was a master of English prose. -/- The Clarendon Hume Edition will include all of his works except his History of England and minor historical writings. It is the only thorough critical edition, and will provide a far more extensive scholarly treatment than any previous editions. This edition (which has been in preparation since the 1970s) offers authoritative annotation, bibliographical information, and indexes, and draws upon the major advances in textual scholarship that have been made since the publication of earlier editions - advances both in the understanding of editorial principle and practice and in knowledge of the history of Hume's own texts. (shrink)
Human Nature in Metaphysics
Hume: A Treatise of Human Nature in 17th/18th Century Philosophy
$324.99 new $325.00 from Amazon View on Amazon.com
I_– _David Papineau.David Papineau - 1999 - Aristotelian Society Supplementary Volume 73 (1):17-43.details
It is widely assumed that the normativity of conceptual judgement poses problems for naturalism. Thus John McDowell urges that 'The structure of the space of reasons stubbornly resists being appropriated within a naturalism that conceives nature as the realm of law' (1994, p 73). Similar sentiments have been expressed by many other writers, for example Robert Brandom (1994, p xiii) and Paul Boghossian (1989, p 548).
Normativity of Meaning and Content in Philosophy of Language
The David Hume Library.David Fate Norton, Edinburgh Bibliographical Society & National Library of Scotland - 1996details
Hume: Intellectual Context in 17th/18th Century Philosophy
The Letters of David Hume: Volume 1.David Hume & J. Y. T. Greig (eds.) - 1983 - Oxford University Press USA.details
Originally published: Oxford: Clarendon Press, 1932.
Hume: Works, Misc in 17th/18th Century Philosophy
Lewis, David: Nuevo Trabajo para una Teoría de los Universales [Translation] - Parte II.David K. Lewis & Diego Morales - 2015 - Ideas Y Valores 64 (158):247-277.details
Second part of the translation into Spanish of David Lewis' "New Work for a Theory of Universals", corresponding to the last sections of the original paper. || Segunda parte de la traducción al español del trabajo de David Lewis "New Work for a Theory of Universals", correspondiente a últimas secciones del artículo original. Artículo original publicado en: Australasian Journal of Philosophy, Vol. 61, No. 4, Dec. 1983, pp. 343-377.
Sobel, David. From Valuing to Value: A Defense of Subjectivism. Oxford: Oxford University Press, 2017. Pp. 352. $85.00. [REVIEW]David Enoch - 2018 - Ethics 128 (3):672-677.details
David Hume: A Treatise of Human Nature: Volume 2: Editorial Material.David Fate Norton & Mary J. Norton (eds.) - 2011 - Oxford University Press.details
David and Mary Norton present the definitive scholarly edition of Hume's Treatise, one of the greatest philosophical works ever written. This volume contains their account of how the Treatise was written and published; an explanation of how they established the text; an extensive set of annotations; and a detailed bibliography and index.
David Hume: A Treatise of Human Nature: Volume 1: Texts.David Fate Norton & Mary J. Norton (eds.) - 2011 - Oxford University Press.details
David and Mary Norton present the definitive scholarly edition of Hume's Treatise, one of the greatest philosophical works ever written. The first volume contains the critical text of David Hume's Treatise of Human Nature, followed by the shortand concluding with A Letter from a Gentleman to his Friend in Edinburgh.
David Hume: A Treatise of Human Nature: Two-Volume Set.David Fate Norton & Mary J. Norton (eds.) - 2011 - Oxford University Press.details
David and Mary Norton present the definitive scholarly edition of Hume's Treatise, one of the greatest philosophical works ever written. This set comprises the two volumes of texts and editorial material, which are also available for purchase separately.
David Pears, The False Prison: A Study of the Development of Wittgenstein's Philosophy, Volume II. [REVIEW]David G. Stern - 1990 - Philosophy in Review 10 (2):75-78.details
Ludwig Wittgenstein in 20th Century Philosophy
David Hume: "the historian".David Wootton - 2009 - In David Fate Norton & Jacqueline Anne Taylor (eds.), The Cambridge Companion to Hume. Cambridge University Press. pp. 281--312.details
Hume's Historical Works in 17th/18th Century Philosophy
$11.50 used $19.99 new $20.29 from Amazon (collection) View on Amazon.com
David Schmidtz and the Nature and Features of Corruption.David Schmidtz - unknowndetails
University of Arizona Philosopher David Schmidtz discusses the nature and features of corruption, and how concentrated power may aggravate corruption problems.
David S. Oderberg and Jacqueline A. Laing, human lives: Critical essays on consequentialist bioethics.Reviewed by David M. Adams - 2000 - Ethics 110 (2).details
Lewis, David: Nuevo Trabajo para una Teoría de los Universales [Translation] - Parte I.David Lewis & Diego Morales - 2015 - Ideas Y Valores 64 (157):251-267.details
First part of the translation into Spanish of David Lewis' "New Work for a Theory of Universals", corresponding to the introduction and the first two sections of the original paper. || Primera parte de la traducción al español del trabajo de David Lewis "New Work for a Theory of Universals", correspondiente a la introducción y las dos primeras secciones del artículo original. Artículo original publicado en: Australasian Journal of Philosophy, Vol. 61, No. 4, Dec. 1983, pp. 343-377.
Natural Properties in Metaphysics
Ontology in Metaphysics
David Hume Philosophical Historian.David Hume, David Fate Norton & Richard Henry Popkin - 1965 - Bobbs-Merrill.details
Hume: Biography in 17th/18th Century Philosophy
David Hume on God: selected works newly adapted for the modern reader.David W. Purdie, Peter S. Fosl & David Hume (eds.) - 2019 - Edinburgh: Luath Press.details
David Hume's writings on history, politics and philosophy have shaped thought to this day. His bold scepticism ranged from common notions of the 'self' to criticism of standard theistic proofs. He insisted on grounding understandings of popular religious beliefs in human psychology rather than divine revelation, and he aimed to disentangle philosophy from religion in order to allow the former to pursue its own ends. In this book, Professors David W Purdie and Peter S Fosl decipher some of (...) Hume's most challenging texts for the modern reader, while preserving the sharp intellect and undaunted nerve for which Hume is famous. Hume's spirit is brought alive for contemporary times and his writing is made accessible for its intended audience: the general public."-- Back cover. (shrink)
Hume: Philosophy of Religion in 17th/18th Century Philosophy
David Enoch, Taking Morality Seriously: A Defense of Robust Realism: Oxford: Oxford University Press, 2011, pp. 336. ISBN 978-0-19-957996-9, $75.00 Hbk. [REVIEW]David Faraci - 2012 - Journal of Value Inquiry 46 (2):259-267.details
Moral Realism and Irrealism in Meta-Ethics
Moral Reasoning and Motivation, Misc in Meta-Ethics
David Hume's Theory of Mind.David Owen & Daniel E. Flage - 1992 - Philosophical Review 101 (4):858.details
David Brainerd, Beloved Yankee.David Wynbeek - 1961details
David Hume: A Treatise of Human Nature: Volume 1: Texts.David Fate Norton & Mary J. Norton (eds.) - 2007 - Clarendon Press.details
David and Mary Norton present the definitive scholarly edition of Hume's Treatise, one of the greatest philosophical works ever written. The first volume contains the critical text of David Hume's Treatise of Human Nature , followed by the shortin which Hume set out the key arguments of the larger work; the volume concludes with A Letter from a Gentleman to his Friend in Edinburgh , Hume's later defence of the Treatise.
David A Sprintzen and Adrian van den Hoven, eds., Sartre and Camus: A Historic Confrontation Reviewed by.David Detmer - 2005 - Philosophy in Review 25 (1):6-9.details
Jean-Paul Sartre in Continental Philosophy
II—David Owens: The Value of Duty.David Owens - 2012 - Aristotelian Society Supplementary Volume 86 (1):199-215.details
Intentionality in Philosophy of Mind
Mental States and Processes in Philosophy of Mind
David Pettigrew and François Raffoul (eds.), French Interpretations of Heidegger: An Exceptional Reception. [REVIEW]David Tkach - 2011 - Symposium: Canadian Journal of Continental Philosophy/Revue canadienne de philosophie continentale 15 (1):208-211.details
David Hume: A Treatise of Human Nature: Volume 2: Editorial Material.David Fate Norton & Mary J. Norton (eds.) - 2007 - Clarendon Press.details
David and Mary Norton present the definitive scholarly edition of Hume's Treatise, one of the greatest philosophical works ever written. This second volume contains their historical account of how the Treatise was written and published; an explanation of how they have established the text; an extensive set of annotations which illuminate Hume's texts; and a comprehensive bibliography and index.
Yes: David C. Thomasma, ph.D. [REVIEW]David C. Thomasma - 1991 - HEC Forum 3 (6):349-350.details
GAUTHIER, DAVID P.: "Practical reasoning". [REVIEW]David Muschamp - 1964 - Australasian Journal of Philosophy 42:151.details
"Metaphor": David E. Cooper. [REVIEW]David Novitz - 1987 - British Journal of Aesthetics 27 (3):293.details
I_– _David Charles.David Charles - 1999 - Aristotelian Society Supplementary Volume 73 (1):205-223.details
I–David Charles.David Charles - 1999 - Aristotelian Society Supplementary Volume 73 (1):205-223.details
David Mills on Reading the Signs.David Mills - 2009 - The Chesterton Review 35 (1/2):290-293.details
David Gelernter , Judaism: A Way of Being (New Haven, CT & London: Yale University Press, 2009), ISBN: 978-0300151923.David A. Kaden - 2010 - Foucault Studies 9:212-215.details
Michel Foucault in Continental Philosophy
Critical Notice of David Armstrong, A Combinatorial Theory of Possibility.David Lewis - 1992 - Australasian Journal of Philosophy 70 (2):211-224.details
David Weinberger -- a phenomenology of nuclear weapons.David Weinberger - 1984 - Philosophy and Social Criticism 10 (3-4):95-105.details
Deterrence in Social and Political Philosophy
War in Social and Political Philosophy
David Hume on Morals, Politics, and Society.David Hume - 2018 - New Haven [Connecticut]: Yale University Press.details
A compact and accessible edition of Hume's political and moral writings with essays by a distinguished set of contributors A key figure of the Scottish Enlightenment, David Hume was a major influence on thinkers ranging from Kant and Schopenhauer to Einstein and Popper, and his writings continue to be deeply relevant today. With four essays by leading Hume scholars exploring his complex intellectual legacy, this volume presents an overview of Hume's moral, political, and social philosophy. Editors Angela Coventry and (...) Andrew Valls bring together a selection of writings from Hume's most important works, with contributors placing them in their appropriate context and offering a lively discourse on the relevance of Hume's thought to contemporary subjects like reason's dependence on emotion and the importance of social convention in political and economic behavior. Perfect for classroom use, this volume is an invaluable companion for anyone studying an important thinker who advanced the development of moral philosophy, economics, cognitive science, and many other fields of the Western tradition. (shrink)
$5.42 used $9.40 new View on Amazon.com
David Jones's Letter to René Hague, 11-12 January 1955.David Jones - 1997 - The Chesterton Review 23 (1/2):103-109.details
British Philosophy in European Philosophy
David B. Ruderman. Kabbalah, Magic and Science: The Cultural Universe of a Sixteenthcentury Jewish Physician. Cambridge, Mass, and London: Harvard University Press, 1988. Pp. xii + 232. ISBN 0-674-49660-4. No price given. [REVIEW]David Katz - 1990 - British Journal for the History of Science 23 (3):347-348.details
Judaism in Philosophy of Religion
David M. Walker, "The Scottish Jurists". [REVIEW]David Fate Norton - 1988 - Journal of the History of Philosophy 26 (3):492.details
David E. Cooper, Meaning. [REVIEW]David Martens - 2004 - Philosophy in Review 24:396-397.details
David Baggett and Jerry L. Walls , Good God: The Theistic Foundations of Morality . Reviewed by.David Elliott - 2013 - Philosophy in Review 33 (3):174–176.details
David Levy;, Wendee Wallach‐Levy. Cosmic Discoveries: The Wonders of Astronomy. xxiv + 232 pp., illus., index. Amherst, N.Y.: Prometheus Books, 2001. [REVIEW]David DeVorkin - 2004 - Isis 95 (4):682-683.details
Henry David Thoreau: Civil Disobedience.David Lombard, Robert Clark & Cristina Sandru - 2021 - The Literary Encyclopedia.details
Civil Disobedience in Social and Political Philosophy
The obligations we owe to those with whom we share a valuable relationship cannot be reduced to the obligations we owe to others simply as fellow persons. Wallace suggests that this is because such valuable relationships are loving relationships. I instead propose that it is because, unlike general moral obligations, such valuable relationships serve our normative interests. Part of what makes friendship good for us is that it involves bonds of loyalty. Our lives go better if we are bound to (...) others in this way. (shrink)
David F. Prindle. Stephen Jay Gould and the Politics of Evolution. 249 pp., bibl., index. Amherst, N.Y.: Prometheus Books, 2009. $26.98. [REVIEW]David Sepkoski - 2010 - Isis 101 (2):455-456.details
David Lincicum: A Previously Unknown Letter from H. E. G. Paulus to Karl Joseph Hieronymus Windischmann.David Lincicum - 2018 - Journal for the History of Modern Theology/Zeitschrift für Neuere Theologiegeschichte 25 (1-2):152-155.details
This edition presents a letter from Heinrich Eberhard Gottlob Paulus to Karl Joseph Hieronymus Windischmann, dated 13 February 1804, in which Paulus thanks Windischmann for his translation of Plato, discuses philosophy, and mentions the pending appointment of Friedrich Daniel Ernst Schleiermacher.
David Lincicum: Fighting Germans with Germans: Victorian Theological Translations between Anxiety and Influence.David Lincicum - 2017 - Journal for the History of Modern Theology/Zeitschrift für Neuere Theologiegeschichte 24 (2):153-201.details
Between 1825 and 1895, Victorian Britain witnessed a significant blossoming of interest in foreign theological literature. Much of this interest, together with a concomitant anxiety, focused on the negotiation of German biblical criticism and the new challenges and possibilities this criticism introduced. This article thematizes this transnational literary and theological encounter, paying particular attention both to the major book series that undertook to mediate criticism to Britain, and to the burgeoning periodical literature that supplied 'foreign intelligence' and short translations. Translation (...) served as both a liberalizing force as it introduced critical results that troubled some proponents of orthodoxy, but also offered a channel for resistance as doctrinally conservative strands of German biblical scholarship found a warm reception. The article is followed by a chronologically organized bibliography of translated works published in Britain from 1825 to 1895. (shrink)


text:
ANOC President Gagik Tsarukyan receives the U18 women's national basketball team
16:30 - 19 Jul, 2016
The president of the National Olympic Committee of Armenia, Gagik Tsarukyan, has hosted the champion of the European Championship Division C, Armenia U18 women's basketball team, its coaching staff and the leadership of the Armenian Basketball Federation.
Welcoming the guests, the ANOC President said, "I cordially congratulate you on the successful games. You managed to uphold the honor of our country as it did the Armenia men's national basketball team. Armenia was talking for days about this victory, as for me, I was indescribably happy. Of course, the federation president, Hrachya Rostomyan, has made a major contribution to this work with his devoted work and as we see it gives the desired result. I stand by you in your every initiative. Let the success and the victory always accompany you. God bless you."
The members of the Armenia U18 team and the team's head coach, Vahagn Harutyunyan, presented a symbolic medal and a ball with the players' signatures to the ANOC President. The championship cup was traditionally given to the Olympavan's museum.
The photos – here
ANOC press service
Armenia boxing youth team launched at the international tournament "Nikolay Pavlyukov Memorial"
6 boxers measured their strengths
Tigran Gyokchyan releases Armenia national basketball team's staff
It is expected that the national team will have several test matches…
Artur Avetisyan: I must achieve my dream at any cost
The year was very successful for me.
Zaven Andriasyan – Armenia's chess champion
He got 9 points
Bucharest 2019: Arsen Harutyunyan in final
Arsen Harutyunyan at 61 kg will fight for European champion title.
World Cup: Aronyan celebrates victory
Movsesyan drew the game.
Karen Aghamalyan: The team won't have new members before Rio Olympics
Armenia's boxing team's new coach is Karen Aghamalyan
Minsk 2019: Garik Barseghyan and Andranik Galstyan lose ¼ finals
On June 25 freestyle wrestlers Garik Barseghyan (57 kg) and Andranik Galstyan (125 kg) entered the competition


text:
To Catch a Smuggler
TV14 • Crime, Documentaries • TV Series • 2019
Millions of people enter the U.S. through the nation's airports each year. It's a nonstop human tidal wave, and hidden among them are an endless strea...more
Millions of people enter the U.S. through the nation's airports each year. It's a nonstop human tidal wave, and hidden among them are an endless stream of contraband and ill intentions. Defending our borders are the vigilant men and women of the Department of Homeland Security, whose agencies make up a three-tiered defense of America's airports. DHS will stop at nothing to catch a smuggler.
Start watching To Catch a Smuggler
1 season available (3 episodes)
(3 episodes)
Internal Investigation
MIA CBP investigates a traveler suspected of smuggling drugs internally. JFK HSI conducts a controlled delivery of ecstasy to Wall Street in Manhattan.
Club Drugs and Party People
MIA CBP finds a package of ecstasy, which leads to a controlled delivery and arrest. JFK CBP questions a traveler connected to known drug smugglers.
Suspicious Suitcase
MIA CBP searches a traveler with a suspicious story and suitcase. JFK HSI works to open pistons filled with drugs, which leads to a controlled delivery.
Underworld, Inc.
TV14 • Crime, Documentaries • TV Series (2015)
Drugs, Inc.
TV14 • Documentaries • TV Series (2010)
Nazi Megastructures
TV14 • Science & Technology, Documentaries • TV Series (2013)
Activate: The Global Citizen Movement
TVMA • Documentaries • TV Series (2019)